我已经尝试了一些解决方案,我发现,但我不知道这是如何工作(我新蒙戈).我有一个文档,看起来像这样:
{
"_id": {
"$oid": "63ef95daf324e5a26354eb61"
},
"idCarga": "6182944",
"12121212121212": {
"info1": "hello",
"info2": "goodbye"
},
"13131313131313": {
"info1": "hello",
"info2": "goodbye"
}
}
我的目标是:
1.如果我尝试使用新的产品ID字段(如15151515151515)更新文档,它将作为新字段插入。
1.如果我尝试使用已经存在的产品ID(如13131313131313)更新文档,则不会发生任何情况(不插入或更新任何内容)。
我使用$exists
运算符和upsert
选项得到了一些结果。但是我必须插入这么多产品ID,这似乎是一个不可行的选项。是否有任何方法可以做到这一点,每个“idCarga”只有一个文档?或者我必须将其分为2个集合?提前感谢。
1条答案
按热度按时间zxlwwiss1#
简单地用
$ifNull
执行$set
Mongo Playground for new id case
Mongo Playground for existing id case