如果文档不存在而不更新现有文档(如果存在),如何插入文档?
假设我有一份文件如下:
{
"company":"test",
"name":"nameVal"
}
Run Code Online (Sandbox Code Playgroud)
我想检查集合是否包含公司test,如果它不存在我想创建一个新文档.如果它存在我想做什么都没有.我试过update了upsert = true.但它会更新现有文档(如果存在).
这是我试过的:
db.getCollection('companies').update(
{
"company": "test"
},
{
"company": "test",
"name": "nameVal2"
},
{upsert:true}
)
Run Code Online (Sandbox Code Playgroud)
感谢使用一个查询解决此问题的任何帮助.
你可以使用$ setOnInsert之类的,
db.getCollection('companies').update(
{"company": "test"},
{ $setOnInsert: { "name": "nameVal2", ... } },
{ upsert: true }
)
Run Code Online (Sandbox Code Playgroud)
如果此查询没有执行insert,$setOnInsert则不会产生任何影响.因此,名称将仅在插入时更新.
| 归档时间: |
|
| 查看次数: |
4380 次 |
| 最近记录: |