Mongodb 如何使用MGO聚合管道查找符合特定条件的所有嵌入文档
假设我在MongoDB的组集合中有以下数据Mongodb 如何使用MGO聚合管道查找符合特定条件的所有嵌入文档,mongodb,go,aggregation-framework,mgo,Mongodb,Go,Aggregation Framework,Mgo,假设我在MongoDB的组集合中有以下数据 [ { “Group”: { “_id”: 1, “Requests”: [ { “_id”:1, “name”:”Request A” }. { “_id”:2,
[
{
“Group”: {
“_id”: 1,
“Requests”: [
{
“_id”:1,
“name”:”Request A”
}.
{
“_id”:2,
“name”:”Request B”
}
]
}
},
{
“Group”: {
“_id”: 2,
“Requests”: [
{
“_id”:3,
“name”:”Request C”
}.
{
“_id”:4,
“name”:”Request D”
}
]
}
}
]
另外,假设我有以下函数
func GetRequests(requestIDs []string) (Request[] error){
//NEED TO IMPLEMENT W/ MGO
}
如果不需要只返回与requestid匹配的请求的投影,是否有方法使用聚合管道
比如说
反映请求ID的示例输入
mgo聚合/查询的示例输出
试试这个
db.groups.aggregate([{$unwind : '$Requests'},
{$match: {'Requests._id' :{$in: [1,2,4]}}},
{$project : {_id : '$Requests._id',name:'$Requests.name'}}]);
[
{
“_id”:1,
“name”:”Request A”
},
{
“_id”:2,
“name”:”Request B”
},
{
“_id”:4,
“name”:”Request D”
}
]
db.groups.aggregate([{$unwind : '$Requests'},
{$match: {'Requests._id' :{$in: [1,2,4]}}},
{$project : {_id : '$Requests._id',name:'$Requests.name'}}]);