用MongoDB中每位员工的10%更新薪水字段值

首先让我们创建一个包含文档的集合-

> db.demo417.insertOne({"EmployeeName":"Chris","EmployeeSalary":500});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e723ebbb912067e57771ae4")
}
> db.demo417.insertOne({"EmployeeName":"Mike","EmployeeSalary":1000});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e723ed7b912067e57771ae5")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo417.find();

这将产生以下输出-

{ "_id" : ObjectId("5e723ebbb912067e57771ae4"), "EmployeeName" : "Chris", "EmployeeSalary" : 500 }
{ "_id" : ObjectId("5e723ed7b912067e57771ae5"), "EmployeeName" : "Mike", "EmployeeSalary" : 1000 }

以下是使用员工集合中每个员工的10%更新薪水字段值的查询-

> db.demo417.update({ "EmployeeName": { $in: ["Chris", "Mike"] } }, { $mul: { EmployeeSalary: 1.1 }},{multi:true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

find()方法的帮助下显示集合中的所有文档-

> db.demo417.find();

这将产生以下输出-

{ "_id" : ObjectId("5e723ebbb912067e57771ae4"), "EmployeeName" : "Chris", "EmployeeSalary" : 550 }
{ "_id" : ObjectId("5e723ed7b912067e57771ae5"), "EmployeeName" : "Mike", "EmployeeSalary" : 1100 }