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

Làm cách nào để trừ các giá trị (TotalPrice - Giảm giá) khỏi các giá trị trường tài liệu trong MongoDB?


Để trừ giá trị khỏi giá trị trường tài liệu, hãy sử dụng $ subtract trong MongoDB tổng hợp (). Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo599.insertOne({"TotalPrice":250,"DiscountPrice":35});{
   "acknowledged" : true, "insertedId" : ObjectId("5e948192f5f1e70e134e2696")
}
> db.demo599.insertOne({"TotalPrice":400,"DiscountPrice":10});{
   "acknowledged" : true, "insertedId" : ObjectId("5e948199f5f1e70e134e2697")
}
> db.demo599.insertOne({"TotalPrice":1550,"DiscountPrice":50});{
   "acknowledged" : true, "insertedId" : ObjectId("5e9481a0f5f1e70e134e2698")
}

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.demo599.find();

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

{ "_id" : ObjectId("5e948192f5f1e70e134e2696"), "TotalPrice" : 250, "DiscountPrice" : 35 }
{ "_id" : ObjectId("5e948199f5f1e70e134e2697"), "TotalPrice" : 400, "DiscountPrice" : 10 }
{ "_id" : ObjectId("5e9481a0f5f1e70e134e2698"), "TotalPrice" : 1550, "DiscountPrice" : 50 }

Sau đây là truy vấn để trừ các giá trị khỏi các giá trị trường tài liệu -

> db.demo599.aggregate( [ { $project: {ActualPrice: { $subtract: [ "$TotalPrice", "$DiscountPrice" ] } } } ] )

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

{ "_id" : ObjectId("5e948192f5f1e70e134e2696"), "ActualPrice" : 215 }
{ "_id" : ObjectId("5e948199f5f1e70e134e2697"), "ActualPrice" : 390 }
{ "_id" : ObjectId("5e9481a0f5f1e70e134e2698"), "ActualPrice" : 1500 }