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

유사한 ID를 가진 제품 가격을 합산하는 MongoDB 집계

<시간/>

$group을 사용하여 _id 표현식이 지정된 문서를 그룹화해야 합니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.aggreagateDemo.insertOne({"Product_Id":1,"ProductPrice":50});{ "승인됨":true, "insertedId":ObjectId("5e06d3c025ddae1f53b621d9")}> db.insertDemo {"Product_Id":2,"ProductPrice":100});{ "승인된":true, "insertedId":ObjectId("5e06d3c625ddae1f53b621da")}> db.aggregateDemo.insertOne({"Product_Id":2,"ProductPrice" :500});{ "승인됨" :true, "insertedId" :ObjectId("5e06d3cb25ddae1f53b621db")}> db.aggreagateDemo.insertOne({"Product_Id":1,"ProductPrice":150});{ "승인됨 true, "insertedId":ObjectId("5e06d3d125ddae1f53b621dc")}

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

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

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5e06d3c025ddae1f53b621d9"), "Product_Id" :1, "ProductPrice" :50}{ "_id" :ObjectId("5e06d3c625ddae1f53b621da"), "Product_Id":제품 ID }{ "_id":ObjectId("5e06d3cb25ddae1f53b621db"), "Product_Id":2, "ProductPrice":500}{ "_id":ObjectId("5e06d3d125ddae1f53b5621dc"), "Product_Id1Price" /사전> 

다음은 id −

로 집계 및 그룹화를 수행하는 쿼리입니다.
> db.aggregateDemo.aggregate([... {... $group:{... _id:"$Product_Id",... TotalValue:{$sum:"$ProductPrice"}... } ... }... ]... );

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :2, "TotalValue" :600 }{ "_id" :1, "TotalValue" :200 }