用于添加到数组(如果不存在)的MongoDB查询
我是MongoDB的新手,我想知道如果不存在嵌入式文档,是否有任何方法将其添加到数组中。 假设我有一个名为用于添加到数组(如果不存在)的MongoDB查询,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我是MongoDB的新手,我想知道如果不存在嵌入式文档,是否有任何方法将其添加到数组中。 假设我有一个名为产品的集合: { _id: "123", name: "Hair-Dryer", locations: [{ code: "MA", name: "Massachusetts" }, {
产品的集合:
{
_id: "123",
name: "Hair-Dryer",
locations: [{
code: "MA",
name: "Massachusetts"
},
{
code: "IL",
name: "illinois"
}
]
}, {
_id: "456",
name: "Toaster",
locations: [{
code: "MA",
name: "Massachusetts"
}, ]
}
现在让我们假设我想添加:
{
code: "IL",
name: "illinois"
}
只有那些没有它们的文档请注意,我不知道哪些文档包含或不包含我所需的数据。我需要找出答案
如何在MongoDB中编写这样的查询?运算符向数组中添加一个值,除非该值已经存在,在这种情况下,$addToSet对该数组不做任何操作
试试这个:
db.locations.updateMany({}{
$addToSet:{
地点:{
代码:“IL”,
名称:“伊利诺伊州”
}
}
});