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 不能跨库联合
更复杂的查询:https://www.cnblogs.com/xuliuzai/p/10055535.html
作者:运维·拖拉斯基
作者水平很低, 如果有错误及时指出, 如果你觉得本文写的好请点一波赞~(≧▽≦)/~
出处:https://www.cnblogs.com/-abm/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。