更新文档
在MongoDB中,我们可以使用updateOne()
和updateMany()
方法来更新文档。
updateOne()
updateOne()
方法用于更新集合中匹配条件的第一个文档。该方法接受两个参数:一个JSON对象,表示要更新的条件;以及一个JSON对象,表示要更新的值。如果省略第二个参数,则更新操作将不会进行任何更改。
以下是使用updateOne()
方法更新文档的示例:
db.collection('users').updateOne(
{ name: 'John Doe' },
{ $set: { age: 35 } },
function(err, result) {
if (err) throw err;
console.log(`${result.modifiedCount} documents updated`);
db.close();
}
);
上面的代码将查询一个名为users
的集合中名字为John Doe
的文档,并将该文档的年龄更新为35
。在更新操作完成后,将会输出一个信息,表示已经更新了多少个文档。
updateMany()
updateMany()
方法用于更新集合中匹配条件的所有文档。该方法接受两个参数:一个JSON对象,表示要更新的条件;以及一个JSON对象,表示要更新的值。如果省略第二个参数,则更新操作将不会进行任何更改。
以下是使用updateMany()
方法更新文档的示例:
db.collection('users').updateMany(
{ age: { $gte: 30 } },
{ $inc: { age: 1 } },
function(err, result) {
if (err) throw err;
console.log(`${result.modifiedCount} documents updated`);
db.close();
}
);
上面的代码将查询一个名为users
的集合中年龄大于等于30
的所有文档,并将它们的年龄增加1
。在更新操作完成后,将会输出一个信息,表示已经更新了多少个文档。$inc
是MongoDB中的一个操作符,用于将字段的值增加指定的数量。