要从文档字段值中减去值,请在MongoDB aggregate()中使用$subtract。让我们用文档创建一个集合-
> 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") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo599.find();
这将产生以下输出-
{ "_id" : ObjectId("5e948192f5f1e70e134e2696"), "TotalPrice" : 250, "DiscountPrice" : 35 } { "_id" : ObjectId("5e948199f5f1e70e134e2697"), "TotalPrice" : 400, "DiscountPrice" : 10 } { "_id" : ObjectId("5e9481a0f5f1e70e134e2698"), "TotalPrice" : 1550, "DiscountPrice" : 50 }
以下是从文档字段值中减去值的查询-
> db.demo599.aggregate( [ { $project: {ActualPrice: { $subtract: [ "$TotalPrice", "$DiscountPrice" ] } } } ] )
这将产生以下输出-
{ "_id" : ObjectId("5e948192f5f1e70e134e2696"), "ActualPrice" : 215 } { "_id" : ObjectId("5e948199f5f1e70e134e2697"), "ActualPrice" : 390 } { "_id" : ObjectId("5e9481a0f5f1e70e134e2698"), "ActualPrice" : 1500 }