我有以下收藏:
db.inventory.insertMany( [
{ item: "journal", instock: [ { warehouse: "A", qty: 5 }, { warehouse: "C", qty: 15 } ] },
{ item: "notebook", instock: [ { warehouse: "C", qty: 5 } ] },
{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 15 } ] },
{ item: "planner", instock: [ { warehouse: "A", qty: 40 }, { warehouse: "B", qty: 5 } ] },
{ item: "postcard", instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);
现在,如果
instock
数组中没有包含 warehouse
值 C
的文档,那么我需要添加一个值为 C
的文档。
所以我用
$push
操作员尝试了这个:
db.inventory.updateMany(
{"instock.warehouse": {$ne: "C"}},
$push: {"instock": {"warehouse": "C", "qty": 04}}
)
这抛出
unexpcted token expected: ","
这里有什么问题吗?这与位置运算符
$
有关吗?
尝试:
db.collection.updateMany({
"instock.warehouse": {
$ne: "C"
}
},
{
$push: {
"instock": {
"warehouse": "C",
"qty": 4
}
}
})