MongoDB聯表查詢
表A:
id name --------------------------- 1 Tom 2 Roger 3 Mars 4 Brent
表B:
id result ------------------------- 1 90 2 60 3 88 4 75
需求
將表A中的name和表B中的result關聯查詢。
思路
通過關聯條件id關聯name和result
mysql 用left join,mongo用$lookup
語句
db."A表".aggregate([ { "$lookup": { //通過loolup關聯兩個表,相當于left join "from": "B表", //同一個數據庫下需要被關聯的集合名 "localField": "A_id", //A表需要關聯的鍵 "foreignField": "B_id", //B表需要關聯的鍵 "as": "B_list" //B表的別名,下面輸出B表字段時用到 } }, { "$match": { "A_id": '1' //查詢條件,相當于where } }, { "$project": { //決定要顯示的字段,相當于select的作用 "name": 1, "B_result": "$B_list.result" } }])
結果
name B_result --------------------------------- Tom 90
注意
1 只能兩個表聯合查詢
2 不能跨庫聯合
更復雜的查詢:http://www.rzrgm.cn/xuliuzai/p/10055535.html
作者:運維·拖拉斯基
作者水平很低, 如果有錯誤及時指出, 如果你覺得本文寫的好請點一波贊~(≧▽≦)/~
出處:http://www.rzrgm.cn/-abm/
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
浙公網安備 33010602011771號