我正面临着使用MongoDB Aggregation Framrwork进行此查询的一些困难。
我有一个订单集合,其中包含来自产品示例的对象ID数组:
{
_id: "5759b760aeacbfa420943d84",
products: [
"57718a2c9473f30ae88d1875",
"57727d988d7e581809b454a1",
"577bda7da756e2180507a944"
]
}
以下是我的产品ocllection中的一个文档示例:
{
_id: "57718a2c9473f30ae88d1875",
name: "Soap A"
}
如何在订单中进行聚合查询以获取包含产品文档的列表?
答案 0 :(得分:1)
简短的回答你不能。 Aggregate仅适用于一个集合。
但是,如果您使用的是mongoose,则可以使用查询和'.populate'方法
即
CollectionModel.find({}).populate('products').exec(function(err, items) {})
有关填充http://mongoosejs.com/docs/populate.html
的更多详细信息但是这只适用于nodejs应用程序但是你使用的语言会看一些mongo的ORM框架
我希望有帮助