在接下来的MongoDB文档的Purchases数组中,如何将状态为0的产品“ car”的“ status”属性更新为1。
MongoDB文档::
{
"local": {
"Name": "Rio",
"Income": 300000,
"purchases": [{
"prod": "car",
"status": 1
},
{
"prod": "bike",
"status": 0
},
{
"prod": "car",
"status": 0
}
]
}
}
答案 0 :(得分:2)
您需要将$
位置运算符与$elemMatch
运算符一起使用
位置$运算符标识数组中要更新的元素 无需在元素中明确指定元素的位置 数组。
db.collection.update(
{ "local.purchases": { "$elemMatch": { "prod": "car", "status": 0 }}},
{ "$set": { "local.purchases.$.status": 1 }}
)
答案 1 :(得分:1)
您需要使用$elemMatch
来匹配两个条件上的数组元素。
db.colname.update(
{"local.purchases":{"$elemMatch":{"prod":"car", "status":0}}},
{"$set":{"local.purchases.$.status":1}}
)
答案 2 :(得分:0)
查询将是:-db.sample.update({“ local.purchases.status”:0},{$ set:{“ local.purchases。$。status”:1}});
说明:- 在这里,您将必须使用$运算符来引用与update函数的第一个参数中的find查询匹配的那些购买。希望对您有所帮助。