关于MongoDB的全面概述以及我关于它的所有帖子,请查看我的概述。
你可以在MongoDB中更新现有的文档,如果你想一次只更新一个文档,你有三个主要选择。
你可以使用update 方法来更新一个文档。默认情况下,它只会更新一个文档,即使提供的查询匹配了多个文档。
首先,我们将把我们的数据集插入一个叫做podcasts 的集合中,使用 insertMany
db.podcasts.insertMany([
{
"name": "Tech Over Tea",
"episodeName": "#75 Welcome Our Hacker Neko Waifu | Cyan Nyan",
"dateAired": ISODate("2021-08-02"),
"listenedTo": true,
},
{
"name": "Tech Over Tea",
"episodeName": "Neckbeards Anonymous - Tech Over Tea #20 - feat Donald Feury",
"dateAired": ISODate("2020-07-13"),
"listenedTo": true
},
{
"name": "Tech Over Tea",
"episodeName": "#34 The Return Of The Clones - feat Bryan Jenks",
"dateAired": ISODate("2020-10-19"),
"listenedTo": false
}
])
让我们更新在2020-10-19 上播出的播客集,以表明我们现在已经听过它了:
db.podcasts.update({dateAired: ISODate("2020-10-19")}, {
{ $set: { listenedTo: true } }
})
第一个参数是我们的查询,指定我们要更新的文档。第二个参数是一个文件,描述了我们要如何更新该文件。
我们使用所谓的update operator ,称为set ,告诉MongoDB将listenedTo 更新为true 的新值。
我们可以用updateOne 来达到同样的效果:
db.podcasts.updateOne({dateAired: ISODate("2020-10-19")}, {
{ $set: { listenedTo: true } }
})