gpt4 book ai didi

Mongodb如何仅在不存在时插入(如果存在则不更新)?

转载 作者:IT老高 更新时间:2023-10-28 13:26:50 29 4
gpt4 key购买 nike

如果文档不存在,如何插入文档而不更新现有文档(如果存在)?

假设我有一个文件如下:

  {
"company":"test",
"name":"nameVal"
}

我想检查集合是否包含公司test,如果不存在我想创建一个新文档。如果它存在,我什么都不想做。我用 upsert = true 尝试了 update。但它会更新现有文档(如果存在)。

这是我尝试过的:

db.getCollection('companies').update(
{
"company": "test"
},
{
"company": "test",
"name": "nameVal2"
},
{upsert:true}
)

感谢任何帮助使用一个查询来解决此问题。

最佳答案

您可以使用 $setOnInsert喜欢,

db.companies.updateOne(
{"company": "test"},
{ $setOnInsert: { "name": "nameVal2", ... } },
{ upsert: true }
)

如果这个更新操作不做插入,$setOnInsert 不会有任何效果。因此,name 只会在插入时更新。

关于Mongodb如何仅在不存在时插入(如果存在则不更新)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48220677/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com