要更新,请使用update(),以下是创建和使用示例自定义变量的语法-
var anyVariableName=yourValue; db.yourCollectionName.update({filter},{$set:{yourFieldName:yourVariableName}});
让我们创建一个包含文档的集合-
> db.demo600.insertOne({id:1,Name:"Robert"});{ "acknowledged" : true, "insertedId" : ObjectId("5e94a063f5f1e70e134e2699") } > db.demo600.insertOne({id:2,Name:"Mike"});{ "acknowledged" : true, "insertedId" : ObjectId("5e94a06bf5f1e70e134e269a") } > db.demo600.insertOne({id:3,Name:"Sam"});{ "acknowledged" : true, "insertedId" : ObjectId("5e94a072f5f1e70e134e269b") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo600.find();
这将产生以下输出-
{ "_id" : ObjectId("5e94a063f5f1e70e134e2699"), "id" : 1, "Name" : "Robert" } { "_id" : ObjectId("5e94a06bf5f1e70e134e269a"), "id" : 2, "Name" : "Mike" } { "_id" : ObjectId("5e94a072f5f1e70e134e269b"), "id" : 3, "Name" : "Sam" }
以下是在更新MongoDB文档时使用自定义变量的查询-
> var replaceName="David"; > db.demo600.update({id:2},{$set:{Name:replaceName}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在find()方法的帮助下显示集合中的所有文档-
> db.demo600.find();
这将产生以下输出-
{ "_id" : ObjectId("5e94a063f5f1e70e134e2699"), "id" : 1, "Name" : "Robert" } { "_id" : ObjectId("5e94a06bf5f1e70e134e269a"), "id" : 2, "Name" : "David" } { "_id" : ObjectId("5e94a072f5f1e70e134e269b"), "id" : 3, "Name" : "Sam" }