ast*_*anu 49 mongodb mongodb-query
我知道这可能是一个愚蠢的问题,但我在电子书上看到upsert
MongoDB插入中有一个选项.我找不到有关此问题的适当文件.有人能教育我这个吗?
zer*_*323 107
由于upsert
被定义为操作是" 创建时没有文档的查询条件相匹配的新文件 "不存在用于地方upserts
的insert
命令.它是update
命令的一个选项.如果执行如下所示的命令update
,则query
insert
update
它将作为一个文件匹配,或作为一个参数描述的文档.
db.collection.update(query, update, {upsert: true})
Run Code Online (Sandbox Code Playgroud)
MongoDB 3.2增加了replaceOne
:
db.collection.replaceOne(query, replacement, {upsert: true})
Run Code Online (Sandbox Code Playgroud)
它具有类似的行为,但它replacement
不能包含更新运算符.
与PKD db.collection.insert()
提供的链接一样,不提供upsert可能性.相反,mongo insert将新文档插入到集合中.Upsert只能使用db.collection.update()
和db.collection.save()
.
如果您碰巧传递的文档db.collection.insert()
已经在集合中,因此_id
与现有文档类似_id
,则会抛出重复的键异常.
归档时间: |
|
查看次数: |
70407 次 |
最近记录: |