반응형
mongodb-찾아서 집계하는 방법
아래 스키마가있는 문서가 포함 된 컬렉션이 있습니다. 여성 성별이 포함 된 모든 문서를 필터링 / 찾고 두뇌 점수 합계를 집계하고 싶습니다. 아래 문을 시도했는데 잘못된 파이프 라인 오류가 표시됩니다.
db['!all'].aggregate({ $and: [ {'GENDER' : 'F'} , {'DOB' : { $gte : 19400801, $lte : 20131231 }} ] }, { $group : { _id : "$GENDER", totalscore : { $sum : "$BRAINSCORE" } } } )
개요:
{
"_id" : ObjectId("53f63fc8f2b643f6ebb8a1a9"),
"DOB" : 19690112,
"GENDER" : "F",
"BRAINSCORE" : 65
},
{
"_id" : ObjectId("53f63fc8f2b643f6ebb8a1a2"),
"DOB" : 19950116,
"GENDER" : "F",
"BRAINSCORE" : 44
},
{
"_id" : ObjectId("53f63fc8f2b643f6ebb8a902"),
"DOB" : 19430216,
"GENDER" : "M",
"BRAINSCORE" : 71
}
도와주세요...
$ match 를 사용해야합니다 :
db['!all'].aggregate([
{$match:
{'GENDER': 'F',
'DOB':
{ $gte: 19400801,
$lte: 20131231 } } },
{$group:
{_id: "$GENDER",
totalscore:{ $sum: "$BRAINSCORE"}}}
])
출력 :
{ "_id" : "F", "totalscore" : 109 }
샘플 작업 쿼리 :
db.getCollection('NOTIF_EVENT_RESULT').aggregate([
{$match:
{'userId': {'$in' : ['user-900', 'user-1546']},
'criteria.operator': 'greater than', 'criteria.thresold' : '90', 'category' : 'capacity'}
},
{"$group" : {_id : {userId:"$userId"}, "count" : { "$sum" : 1} } }
])
참고 URL : https://stackoverflow.com/questions/25436630/mongodb-how-to-find-and-then-aggregate
반응형
'Nice programing' 카테고리의 다른 글
세로 스크롤 막대를 일으키는 HTML 요소를 확인하는 방법 (0) | 2020.12.11 |
---|---|
Android 스튜디오가 'Gradle :'_debugCompile '종속성 해결'또는 'detachedConfiguration1'에서 멈춤 (0) | 2020.12.11 |
dplyr :: 하나의 열을 선택하고 벡터로 출력 (0) | 2020.12.11 |
.NET의 부정확 한 소수 (0) | 2020.12.11 |
Kestrel은 Node.js와 같은 요청을 처리하기 위해 단일 스레드를 사용합니까? (0) | 2020.12.11 |