2016-07-05 47 views
2

我正面臨着使用MongoDB Aggregation Framrwork進行此查詢的困難。如何使用MongoDB將對象ID數組「加入」

我有一個指令集具有對象的ID從產品例如數組:

{ 
    _id: "5759b760aeacbfa420943d84", 
    products: [ 
    "57718a2c9473f30ae88d1875", 
    "57727d988d7e581809b454a1", 
    "577bda7da756e2180507a944" 
    ] 
} 

這裏是我的產品ocllection一個文檔的例子:

{ 
    _id: "57718a2c9473f30ae88d1875", 
    name: "Soap A" 
} 

我怎樣才能讓一個聚合查詢命令來獲取包含的產品文檔列表?

回答

1

簡短的回答你不能。 聚合僅適用於一個集合。

但是,如果您使用的是貓鼬,您可以使用查詢和「.populate」的方法

CollectionModel.find({}).populate('products').exec(function(err, items) {}) 

更多填入http://mongoosejs.com/docs/populate.html

但只適用細節,但是的NodeJS應用程序語言你正在使用看看一些ORM框架mongo

我希望可以幫助

+0

但內部做Mongoose使另一個查詢來組裝的權利? –

+1

是的,這是正確的 – Tim

+0

嗯,好,非常感謝。 –