Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb聚合引用字段_Mongodb_Mongodb Query_Aggregation Framework - Fatal编程技术网

mongodb聚合引用字段

mongodb聚合引用字段,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我有两个集合,其中一个被引用到第二个集合中。现在,我想执行一个聚合查询,根据引用到其中的第一个集合的字段对第二个集合进行分组 我的第一个模型是: first:{_id:ObjectId, name:String, region:String} the second has this model `second:{_id:ObjectId, name:String, firsts:[$first]} 我的文档如下所示: 第一份文件: { "_id" : ObjectId("562a0f

我有两个集合,其中一个被引用到第二个集合中。现在,我想执行一个聚合查询,根据引用到其中的第一个集合的字段对第二个集合进行分组

我的第一个模型是:

first:{_id:ObjectId, name:String, region:String}
the second has this model `second:{_id:ObjectId, name:String, firsts:[$first]}
我的文档如下所示:

第一份文件:

{ 
    "_id" : ObjectId("562a0f68f6a47a33b4000a52"), 
    "name" : "Name",
    "region" : "Sicilia" 
}
{ 
    "_id" : ObjectId("562a1250249c98273459be4a"), 
    "name" : "Name",
    "firsts" : [ 
        { "first" : ObjectId("562a0f68f6a47a33b4000a52")}, 
        { "first" : ObjectId("562a0f68f6a47a33b400084d")}
    ]
}
第二份文件:

{ 
    "_id" : ObjectId("562a0f68f6a47a33b4000a52"), 
    "name" : "Name",
    "region" : "Sicilia" 
}
{ 
    "_id" : ObjectId("562a1250249c98273459be4a"), 
    "name" : "Name",
    "firsts" : [ 
        { "first" : ObjectId("562a0f68f6a47a33b4000a52")}, 
        { "first" : ObjectId("562a0f68f6a47a33b400084d")}
    ]
}
`

结果我想要这个

{
"_id": ObjectId of second document,
"region": "region"
}
我需要在每个第一个区域上对第二个集合进行分组。这可能吗?

有两种选择

db.first.find({},{region:1}).forEach(function(doc) {
db.second.find({ "firsts" : doc.region });
})


我们不知道这是否可能。也许您应该向我们展示您的集合中的示例文档以及预期的结果。我刚刚编辑了我的问题,您的查询的输出应该是什么样的?请确保这次能很好地格式化您的代码。我需要执行聚合查询!