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}