db.collection.findOneAndReplace()
原子查找并替换文档
语法
db.collection.findOneAndReplace(<filter>, <replacement>, <options>)说明
原子地查找并整体替换一条文档。可返回替换前或替换后的文档。与 findOneAndUpdate 不同,此方法直接替换整条文档内容,不使用更新操作符。
参数
filter必填过滤条件
replacement必填新文档(不可含更新操作符)
returnNewDocumenttrue 返回替换后的文档
sort匹配多条时排序选择
示例
替换并返回旧文档
替换用户数据并获取旧数据
db.users.findOneAndReplace({ _id: userId }, { name: "新名字", email: "new@test.com", age: 28 })替换获取新数据
返回替换后的新文档
db.users.findOneAndReplace({ _id: userId }, newDoc, { returnNewDocument: true })