首先,不知道雲開發使用的集合到底是什麼數據庫,貌似傳聞是NOSQL庫中的mongodb,查詢語法和mongodb也很像,由於關係型數據庫用多了,大多數情況下都在用LINQ,SQL使用的都很少了。
簡單熟悉了一下雲開發中多個集合表的關聯方式,下面舉個簡單多關聯的例子,廢話少說上代碼。
const result = await db.collection('Table_A').aggregate()
.lookup({
from: 'Table_B', // 關聯Table_B表
let: {
b_id: '$_id' // 關聯B表的_id字段
},
pipeline: $.pipeline()
// 關聯條件,第一個爲主結果集屬性字段,第二個爲let的屬性字段
// 關於條件,有很多,可以參考數據庫文檔,結尾會附上鍊接
.match(
$.eq(['$a_id', '$$b_id'])
)
// 選擇需要查詢出關聯b表的哪些字段,1查詢,0不查,也可以在這裏進行一些字段格式化之類的操作
.project({
b_name: 1
})
.done(),
// 輸出到主結果集的別名
as: 'btableinfo',
})
.lookup({
…
// 多個集合關聯依次類推,跟上面寫法一樣,注意關聯條件字段名必須爲結果集中的字段名
})
.end()
雲數據庫開發文檔直通車:雲數據庫開發文檔