在MongoDB的上下文中,什么是upsert?
这是更新和插入吗?
我很好奇,因为我在MongoDB网站上的许多文章和文档中看到了这个术语的用法。
答案 0 :(得分:2)
来自文档:一种操作,它将更新与查询匹配的第一个文档,或者如果没有匹配则插入新文档。新文档将包含操作隐含的字段。
请参阅http://docs.mongodb.org/manual/reference/glossary/#term-upsert
答案 1 :(得分:1)
要把它放到SQL术语中,它很像ON DUPLICATE KEY ... UPDATE
,除了它在如何查询它时并不那么冗长。
所以基本上当你查询更新文档时,MongoDB找不到它,所以插入它。
upsert的条件接受与普通更新相同的所有内容,除了它还有$setOnInsert
(http://docs.mongodb.org/manual/reference/operator/update/setOnInsert/)运算符,它允许您定义一组只会被用于考虑插入。