我正在尝试更新满足两个不同条件的我的一个领域的信息。我不知道这是否是正确的做法,但可以得到指导。我遇到以下错误:“未知的顶级运算符:$ eq”
db.shop.update({"$and":[{"item.name":"Milk"}, {"$eq":{"item.price":2.80}}]}, {"$set": {"item.expiry":"21/10/19"}});
答案 0 :(得分:0)
删除$eq
和$and
,只需使用以下查询即可。
db
.shop
.update({
"item.name": "Milk",
"item.price": 2.80
}, {
"$set": {
"item.expiry": "21/10/19"
}
});
答案 1 :(得分:0)
您可以将$ and用作
db.shop.update(
{"$and":[{"$eq":["item.name","Milk"]}, {"$eq":["item.price",2.80]}]},
{"$set": {"item.expiry":"21/10/19"}}
)
but it is equivalent to below and will be faster as expression takes time to compute
db.shop.update(
{"item.name":"Milk","item.price":2.80},
{"$set": {"item.expiry":"21/10/19"}}
)