mongodb - mongodb insert 命令中是否有 "upsert"选项?

我知道这可能是一个愚蠢的问题,但我在一本电子书中读到,MongoDB 插入中有一个 upsert 选项。我找不到有关此的适当文档。有人可以教育我吗?

最佳答案

由于 upsert 被定义为“当没有文档匹配查询条件时创建一个新文档”的操作,所以 upserts 没有位置在 insert 命令中。它是 update 命令的一个选项。如果您执行如下命令,它将作为 update, if there is a document matching query, or as an insert with document described by update as an argument .

db.collection.update(query, update, {upsert: true})

MongoDB 3.2 增加了 replaceOne :

db.collection.replaceOne(query, replacement, {upsert: true})

具有类似行为,但其替换不能包含更新运算符。

关于mongodb - mongodb insert 命令中是否有 "upsert"选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19974216/

相关文章:

python - 哪个 Python API 应该与 Mongodb 和 Django 一起使用

MongoDB - $size 的参数必须是一个数组,但类型为 : EOO/missing

mongodb - 所以......这个NoSQL的东西

mongodb - 修改和重放 MongoDB oplog

mongodb - 对 MongoDB $in 查询的响应顺序?

node.js - 判断预保存回调中是否有记录 "is new"

mongodb - 如何发现 mongodb 数据库结构

node.js - MongoDB Node 检查objectid是否有效

c# - 支持和反对从 SQL Server 迁移到 MongoDB 的原因

java - MongoDB中不区分大小写的排序