Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tổng hợp MongoDB để tổng hợp giá sản phẩm với các ID tương tự

Bạn cần sử dụng $ group để nhóm các tài liệu có biểu thức _id được chỉ định. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.aggreagateDemo.insertOne ({"Product_Id":1, "ProductPrice":50}); {"nition ":true," insertId ":ObjectId (" 5e06d3c025ddae1f53b621d9 ")}> db.aggreagateDemo ( {"Product_Id":2, "ProductPrice":100}); {"Recognition":true, "insertId":ObjectId ("5e06d3c625ddae1f53b621da")}> db.aggreagateDemo.insertOne ({"Product_Id":2, "ProductPrice" :500}); {"inherit":true, "insertId":ObjectId ("5e06d3cb25ddae1f53b621db")}> db.aggreagateDemo.insertOne ({"Product_Id":1, "ProductPrice":150}); {"xác nhận":true, "insertId":ObjectId ("5e06d3d125ddae1f53b621dc")} 

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

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

Điều này sẽ tạo ra kết quả sau -

 {"_id":ObjectId ("5e06d3c025ddae1f53b621d9"), "Product_Id":1, "ProductPrice":50} {"_id":ObjectId ("5e06d3c625ddae1f53b621da"), "Product_Idrice":"2," } {"_id":ObjectId ("5e06d3cb25ddae1f53b621db"), "Product_Id":2, "ProductPrice":500} {"_id":ObjectId ("5e06d3d125ddae1f53b621dc"), "Product_Idrice":1, 150 / pre> 

Đây là truy vấn để thực hiện tổng hợp và nhóm với id -

> db.aggreagateDemo.aggregate ([... {... $ group:{... _id:"$ Product_Id", ... TotalValue:{$ sum:"$ ProductPrice"} ...} ...} ...] ...); 

Điều này sẽ tạo ra kết quả sau -

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