MongoDB 更新资料

示例

更新整个对象:

db.people.update({name: 'Tom'}, {age: 29, name: 'Tom'})

// MongoDB 3.2的新功能
db.people.updateOne({name: 'Tom'},{age: 29, name: 'Tom'}) //将仅替换第一个匹配的文档。

db.people.updateMany({name: 'Tom'},{age: 29, name: 'Tom'}) //将替换所有匹配的文件。

或者只是更新文档的单个字段。在这种情况下age:

db.people.update({name: 'Tom'}, {$set: {age: 29}})

您还可以通过添加第三个参数来同时更新多个文档。此查询将更新名称等于的所有文档Tom:

db.people.update({name: 'Tom'}, {$set: {age: 29}}, {multi: true})

// MongoDB 3.2的新功能
db.people.updateOne({name: 'Tom'},{$set:{age: 30}) //将仅更新第一个匹配的文档。

db.people.updateMany({name: 'Tom'},{$set:{age: 30}}) //将更新所有匹配的文档。

如果有新字段要更新,则该字段将添加到文档中。

db.people.updateMany({name: 'Tom'},{$set:{age: 30, salary:50000}})// 文档也将具有“薪金”字段。

如果需要替换文档,

db.collection.replaceOne({name:'Tom'}, {name:'Lakmal',age:25,address:'Sri Lanka'})

可以使用。

注意:用于标识对象的字段将保存在更新的文档中。更新部分中未定义的字段将从文档中删除。