0
我正在使用Mongoose的聚合(MongoDB v3.2)。數據庫中有兩個項目factory1
和factory2
。每個工廠都有一個字段products
,它是一個數組。
我要選擇具有產品code1=='aa'
& code2=='BB'
// factory1.products
[{
code1: 'aa',
code2: 'AA'
}, {
code1: 'bb',
code2: 'BB'
}]
// factory2.products
[{
code1: 'aa'
code2: 'BB'
}]
這是我現在該怎麼辦所有的工廠:
Factory
.aggregate([
{ $unwind: '$products' }, // Ensure get factory2 only when use $match. Without $unwind, will get both factory1 and factory2
{ $match: {
'products.code1': 'aa',
'products.code2': 'BB'
}}
]);
有沒有辦法不使用$unwind
選擇?因爲後來我想再次獲得完整的項目。由於
哇,謝謝,工作完美!我只知道$ elemMatch也可以用於聚合,不僅在查詢中! –