我需要一些MongoDb的帮助。我需要检查数据库中是否存在对象。如果是真的,那么我需要检查这个对象是否有特定的元素到数组(Products)。如果没有,我需要使用此元素(Cookie)创建此对象(Order)到数组(Products)。
示例数据:
Order {
_id: ObjectId("580bc55f54101f1d18152d88"),
code: "AVG223424",
products: [
{
name: "Cookie"
},
{
name: "Soda"
}
]
}
最后,更好的实施是什么?
答案 0 :(得分:0)
假设您使用的名称为“Orders”的集合
db
.Orders
.update({
code: "12345"
}, {
$addToSet: {
products: {
name: "Cookie"
}
},
$setOnInsert: {
code: "12345"
}
}, {
upsert: true
});
此查询查找具有相同“代码”的文档,如果找到,将添加对象“{name:”Cookie“}”,如果没有其他具有相同键/值对的对象。如果文档不存在,'$ setOnInsert'命令将设置指定的字段 only 如果创建了新文档。