关于MongoDB和我所有关于它的帖子的全面概述,请查看我的概述。
MongoDB提供了几种具体更新一个文档的方式,批量更新的方式几乎相同。
使用下面的数据:
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
},
{
"name": "Cinemassacre Podcast",
"episodeName": "AVGN Fan Q&A, Starting a Band, and the Last Year - Cinemassacre Podcast",
"dateAired": ISODate("2021-08-10"),
"listenedTo": true
}
])
让我们使用update 更新所有 "Tech Over Tea "播客条目,将其标记为已收听。为了使用update 来更新多个文档,我们必须传入一个可选的参数来告诉MongoDB来做这件事:
db.podcasts.update(
{name: "Tech Over Tea"},
{$set: { listenedTo: true} },
{multi: true}
)
我们可以使用updateMany 来实现同样的结果:
db.podcasts.updateMany(
{name: "Tech Over Tea"},
{$set: { listenedTo: true} }
)