$lookup做关联表查询
两张表格answer和question.
#-------------------------------------------------------------------------------------------------------------------------------------------------
关联表的查询,一般无非两种情况:
两张表合二为一,
其中一张表增加一些字段,字段信息来自于另外一张表(这篇博客属于这种情况)
#-------------------------------------------------------------------------------------------------------------------------------------------------
查询命令如下:
db.getCollection('question').aggregate([
{'$match': {'_id': {'$in': [ObjectId("5e9ed4d8812118ab9078ae1b"),ObjectId("5e9ed5761bd54499b6cce47b")]}}},
{'$lookup':{
'from':'answer',
'localField':'_id',
'foreignField':'question_id',
'as':'answer_list'}}])
上述命令的意思是:
新增一个字段,名字叫answer_list
***********************************
{'_id': {'$in': [xxx,yyy]}}}就是下面的 'localField':'_id',
列表[]中填写的是表格question中的_id的取值
***********************************
'from':'answer'的意思是:
从answer这张表格中去寻找信息来补充当前的question表的查询结果.
***********************************
| 表格名称 | 映射的字段 |
| question | _id |
| answer | question_id |
总结
以上是生活随笔为你收集整理的$lookup做关联表查询的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【连载】 FPGA Verilog HD
- 下一篇: mongodb幽灵操作的解决方案