关于MongoDB的全面概述和我所有关于它的帖子,请查看我的概述。
MongoDB提供了几种专门更新一个文档的方法,在做部分更新时效果很好。
如果你想用一个新的文档完全替换一个现有的文档,你可以使用replaceOne
首先,让我们在一个叫做podcasts 的集合中插入一些数据:
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-07-13 上播出的播客。与update 和updateOne 不同,replaceOne 不使用update operators :
db.podcasts.replaceOne(
{dateAired: ISODate("2020-07-13")},
{
"name": "Tech Over Tea",
"episodeName": "#73 Is This A Gaming Podcast Now | Solo",
"dateAired": ISODate("2021-07-19"),
"listenedTo": false
}
)
参数与update 和updateOne 相似,第一个参数是查询,用于匹配要替换的文档。然而,第二个参数是一个新的文档,将完全取代第一个匹配的文档。