gpt4 book ai didi

带有空更新文档的 MongoDB upsert

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

我正在尝试弄清楚如何将文档插入到集合中,前提是该文档尚未出现在该集合中。如果文档已经存在,则该语句应该是空操作。

我采用的方法是使用带有空更新文档的 upsert:

db.collection.update({ ...query... }, { }, { upsert: true })

但是 Mongo 告诉我“更新文档不能为空”。如何在不更新现有文档的情况下完成此操作?谢谢。

编辑:我的查询文档如下所示:

{
"Chromosome" : "4",
"Position" : 60000,
"Identifier" : "rs1345",
"ReferenceAllele" : "N"
}

最佳答案

您可以使用 $setOnInsert 来做到这一点在您的更新对象中,这仅适用于 upsert 导致插入的情况:

var query = {
"Chromosome" : "4",
"Position" : 60000,
"Identifier" : "rs1345",
"ReferenceAllele" : "N"
};
db.collection.update(query, {$setOnInsert: query}, {upsert: true})

关于带有空更新文档的 MongoDB upsert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745474/

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