Database
db={"Products":[{"_id":"P001","name":"Product A","description":"for Việt Nam","price":900},{"_id":"P002","name":"Product B","description":"for Việt Nam","price":800},{"_id":"P003","name":"Product C","description":"for USA","price":1000},{"_id":"P004","name":"Product D","description":"for Japan","price":1500},{"_id":"P005","name":"Product E","description":"for Japan","price":1100},],"Order":[{"_id":"8001","userId":"U01","createdAt":ISODate("2021-08-01T00:00:00Z"),"products":[{"productId":"P001","quantity":1},{"productId":"P003","quantity":3}]},{"_id":"8002","userId":"U02","createdAt":ISODate("2021-08-01T00:00:00Z"),"products":[{"productId":"P003","quantity":5},{"productId":"P004","quantity":2}]},{"_id":"8003","userId":"U01","createdAt":ISODate("2021-08-02T00:00:00Z"),"products":[{"productId":"P002","quantity":2},{"productId":"P004","quantity":5}]},{"_id":"8004","userId":"U03","createdAt":ISODate("2021-08-03T00:00:00Z"),"products":[{"productId":"P001","quantity":4},{"productId":"P005","quantity":3}]},]}
Query
db.Order.aggregate([{"$unwind":"$products"},{"$lookup":{"from":"Products","localField":"products.productId","foreignField":"_id","as":"result"}},{"$addFields":{"result":{"$arrayElemAt":["$result",0]}}},{"$addFields":{"total":{"$multiply":["$products.quantity","$result.price"]}}},{"$group":{"_id":"$_id","thanhtien":{"$sum":"$total"},"Số mặt hàng đặt":{"$sum":1}}}])