Mongodb直接访问ObjectId

时间:2017-03-12 11:57:23

标签: mongodb objectid

我有一个像这样的“公司”系列:

{
  "_id" : ObjectId("58c52a26de0bdd9311000004"), 
  "name" : "ed", 
  "projects" : [ ], 
  "__v" : 0, 
  "users" : [
    ObjectId("58c52a36de0bdd9311000007"),
    ObjectId("58c52a54de0bdd931100000a")
  ]
}

我想从用户那里获得一些信息;我是否必须进行查询以获取ObjectID和另一个查询给每个用户?

或者有没有办法直接从查询到公司获取此信息?

1 个答案:

答案 0 :(得分:1)

如果两个集合都在同一个数据库中,您可以使用查找聚合从用户集合中获取数据。

  

在同一个中执行左外部联接到未整数的集合   数据库从“已加入”集合中过滤文档   处理。 $ lookup阶段在字段之间进行相等匹配   从输入文件中提取一个字段的文件   “加入”系列。

基本语法: -

{
   $lookup:
     {
       from: <collection to join>,
       localField: <field from the input documents>,
       foreignField: <field from the documents of the "from" collection>,
       as: <output array field>
     }
}

MongoDB lookup