我需要在我的C#代码中在MongoDB中运行以下查询。我使用的是MongoDB.Driver 2.7.2和MongoDB 4.0。
我想使用$lookup而不是$project/$unwind,以避免命名集合的每个可能字段。
我希望将Collection1和Collection2在多个连接条件下进行连接并输出结果。
我想使用$lookup而不是$project/$unwind,以避免命名集合的每个可能字段。
db.getCollection('Collection1').aggregate([
{ "$match" : { "Id" : 1 } },
{ "$lookup": {
"from": "Collection2",
"let": { collection1Id : "$Id" },
"pipeline": [
{ $match:
{ $expr:
{ $and:
[
{ $eq : [ "$Collection1Id", "$$collection2Id" ] },
{ $in : [ "$_id" , [1, 2, 3]] }
]
}
}
}
],
"as": "item"
}
}
])
我希望将Collection1和Collection2在多个连接条件下进行连接并输出结果。