[MONGODB] MongoDB의 합계 쿼리
MONGODBMongoDB의 합계 쿼리
예를 들어 나는 MongoDB의에서 다음과 같은 데이터를 가지고 :
{ "_id" : ObjectId("524091f99c49c4c3f66b0e46"), "hour" : 10, "incoming", 100}
{ "_id" : ObjectId("5240a045dbeff33c7333aa51"), "hour" : 11, "incoming", 200}
{ "_id" : ObjectId("5240a2ecda0d37f35c618aca"), "hour" : 12, "incoming", 300}
나는이 사용 몽고 셸을 할 수있는 방법, (결과가 있어야한다 500) - 지금은 질의에 "12 SUM 수신 (11) 사이의 수를"싶어?
해결법
-
==============================
1.llovet 제안으로, 통합 프레임 워크는가는 방법이다. 다음은 쿼리의 모습 내용은 다음과 같습니다
llovet 제안으로, 통합 프레임 워크는가는 방법이다. 다음은 쿼리의 모습 내용은 다음과 같습니다
db.CollectionNameGoesHere.aggregate({ $match: { $and: [ { hour: { $gte: 11 } }, { hour: { $lte: 12 } } ] } }, { $group: { _id : null, sum : { $sum: "$incoming" } } });
또한 전용과 같이 파이프 라인의 끝에 $ 프로젝트 연산자를 추가하여 합계를 포함하는 결과 문서를 형성 할 수 있습니다 :
{ $project: { _id: 0, sum: 1 } }
-
==============================
2.몇 가지 예는 몽구스를 사용하는 경우 :
몇 가지 예는 몽구스를 사용하는 경우 :
Products.aggregate([ { $match: {} }, { $group: { _id : null, sum : { $sum: "$Price" } } }]) .then(res => console.log(res[0].sum));
({$ 일치 : {}} 제거 할 수 있습니다.)
Products.aggregate([{ $group: { _id : '$Category', sum : { $sum: "$Price" } } }]) .then(res => console.log(res));
from https://stackoverflow.com/questions/18969916/mongodb-sum-query by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 BSON 코덱 부호화 대상 동안 사용되지 (0) | 2019.12.29 |
---|---|
[MONGODB] 같은 문서의 필드 MongoDB의 쿼리 (0) | 2019.12.29 |
[MONGODB] MongoDB를 데이터베이스 연결을 개방 유지 (0) | 2019.12.29 |
[MONGODB] MongoDB를 문자열로 열거 형을 저장 (0) | 2019.12.29 |
[MONGODB] 다중 연결을 몽구스 (0) | 2019.12.29 |