2017-12-25 28 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 예를 들어, _id 2 들어 2 그것이 1

답변

0

당신은 일치 발생을 더 계산하고 $filter$size 필터링 배열 질의 이하 사용할 수 있어야 할 것이다.

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