Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

총 수를 얻기 위해 MongoDB에서 합계를 집계하는 방법은 무엇입니까?

<시간/>

MongoDB에서 합계를 집계하여 총 개수를 얻으려면 $sum 연산자를 사용할 수 있습니다. 위의 개념을 이해하기 위해 문서로 컬렉션을 만들어 보겠습니다 -

> db.aggregateSumDemo.insertOne({"고객 이름":"래리","금액":140});{ "확인됨":true, "삽입된 ID":ObjectId("5c8baa0680f10143d8431e18")}> db.aggregateSumDemo.insertOne insertOne({"CustomerName":"Mike","Amount":160});{ "acknowledged":true, "insertedId":ObjectId("5c8baa1380f10143d8431e19")}> db.aggregateSumDemo.insertOne":{"CustomerName Sam","Amount":300});{ "acknowledged":true, "insertedId":ObjectId("5c8baa1c80f10143d8431e1a")}> db.aggregateSumDemo.insertOne({"CustomerName":"David5000Amount":});{ "승인됨" :true, "insertedId" :ObjectId("5c8baa2580f10143d8431e1b")}

find() 메서드를 사용하여 컬렉션의 모든 문서를 표시합니다. 쿼리는 다음과 같습니다 -

> db.aggregateSumDemo.find().pretty();

다음은 출력입니다 -

<미리>{ "_id":ObjectId("5c8baa0680f10143d8431e18"), "고객 이름":"래리", "금액":140}{ "_id":ObjectId("5c8baa1380f10143d8431e19") Amount" :160}{ "_id" :ObjectId("5c8baa1c80f10143d8431e1a"), "CustomerName" :"Sam", "Amount" :300}{ "_id" :ObjectId("5c8baa2580f10143d8431e") , "금액" :500}

총 개수를 구하는 쿼리입니다.

사례 1 − 쿼리는 다음과 같습니다. −

> db.aggregateSumDemo.aggregate([ { ... $group:{ ... _id:null, ... "TotalCount":{ ... $sum:1 ... } ... }. .. } ] );

다음은 출력입니다 -

{ "_id" :null, "TotalCount" :4 }

다음은 MongoDB에서 합계를 집계하여 합계를 구하는 쿼리입니다.

사례 2 − 쿼리는 다음과 같습니다. −

> db.aggregateSumDemo.aggregate([ { ... $group:{ ... _id:null, ... "TotalAmount":{ ... $sum:"$Amount" ... } .. . }... } ] );

다음은 출력입니다 -

{ "_id" :null, "TotalAmount" :1100 }