Mongodb直接访问ObjectId

Mongodb直接访问ObjectId,mongodb,objectid,Mongodb,Objectid,我有这样一个“公司”收藏: { “_id”:ObjectId(“58c52a26de0bdd9311000004”), “姓名”:“ed”, “项目”:[…], “_v”:0, “用户”:[ ObjectId(“58c52a36de0bdd9311000007”), ObjectId(“58c52a54de0bdd931100000a”) ] } 我想从用户那里得到一些信息;我是否必须执行一个查询才能向每个用户获取ObjectID和另一个查询 或者,是否有任何方法可以直接从公司查询中获取此信息

我有这样一个“公司”收藏:

{
“_id”:ObjectId(“58c52a26de0bdd9311000004”),
“姓名”:“ed”,
“项目”:[…],
“_v”:0,
“用户”:[
ObjectId(“58c52a36de0bdd9311000007”),
ObjectId(“58c52a54de0bdd931100000a”)
]
}
我想从用户那里得到一些信息;我是否必须执行一个查询才能向每个用户获取ObjectID和另一个查询


或者,是否有任何方法可以直接从公司查询中获取此信息?

您可以使用查找聚合从用户集合中获取数据,假设两个集合位于同一数据库中

对同一数据库中的未分片集合执行左外部联接 要从“已加入”集合中筛选文档的数据库 处理。$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>
     }
}
{
$lookup:
{
发件人:,
localField:,
外域:,
作为:
}
}

函数名?填充,查找聚合工作正常。在普通MongoDB中,它是查找。是的,Populate是Mongoose上类似的API。