2017-12-25 15 views
0

私はどのように多くの配列の要素がqty field > 25を持ってカウントする、特定の_idについてMongoDBのカウント配列要素は

{ 
_id: 1 
data: [ {id:10, qty: 20}, {id:20, qty: 30}, {id:30, qty: 40}] 
} 

{ 
_id: 2 
data: [ {id:10, qty: 20}, {id:20, qty: 23}, {id:30, qty: 40}] 
} 

以下に類似したデータとMongoDBのコレクションを持っています。 _id 1ため例えば 、それはあなたが一致出現の何をカウントする $filter$sizeに、クエリの下にフィルタ配列を使用することはできません 1

答えて

0

でなければなりません_id 2について2 でなければなりません。

db.collection_name.aggregate([{"count":{ 
    "$size":{ 
    "$filter":{ 
     "input":"$data", 
     "cond":{"$gt":["$$this.qty",25] 
     } 
    } 
    } 
}}]) 
関連する問題