微信小程序開發之雲開發多表關聯

首先,不知道雲開發使用的集合到底是什麼數據庫,貌似傳聞是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()

雲數據庫開發文檔直通車:雲數據庫開發文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章