ast*_*anu 49 mongodb mongodb-query
我知道这可能是一个愚蠢的问题,但我在电子书上看到upsertMongoDB插入中有一个选项.我找不到有关此问题的适当文件.有人能教育我这个吗?
zer*_*323 107
由于upsert被定义为操作是" 创建时没有文档的查询条件相匹配的新文件 "不存在用于地方upserts的insert命令.它是update命令的一个选项.如果执行如下所示的命令update,则queryinsertupdate它将作为一个文件匹配,或作为一个参数描述的文档.
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 次 |
| 最近记录: |