如果值大于零减 1,则更新数组的所有元素 MongoDB
我在 MongoDB 中非常初学者,我有一个集合称为 users
user 1:
{
"_id": 1,
"city_name": "Newyork",
"device":[
{
"ime_number" : 1234343,
"validity" : 40
}
]
}
user 2:
{
"_id": 2,
"city_name": "London",
"device":[
{
"ime_number" : 3434334,
"validity" : 30
}
]
}
我想更新集合中的所有有效性大于零有效性减量 1
我尝试了这个答案不起作用
db.users.updateMany({"devices.validity": {$gt: 0}}, {$inc: {validity: -1}});
价值未在数组中更新
I very beginner in MongoDB, I have collection called users
user 1:
{
"_id": 1,
"city_name": "Newyork",
"device":[
{
"ime_number" : 1234343,
"validity" : 40
}
]
}
user 2:
{
"_id": 2,
"city_name": "London",
"device":[
{
"ime_number" : 3434334,
"validity" : 30
}
]
}
I want to update all validity in collection is greater than zero validity decrement by 1
I tried this answer Not working
db.users.updateMany({"devices.validity": {$gt: 0}}, {$inc: {validity: -1}});
Value not updated in array
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于
device
是一个数组,因此使用
arrayFilters
和$[]
过滤位置运算符进行更新。示例 Mongo Playground
As the
device
is an array,Update with
arrayFilters
and$[<identifier>]
filtered positional operator.Sample Mongo Playground