我目前设置了一个mongo对象。
{
"_id" : "FtFKS23swBSEtEJAK",
"active_users" : [
{
"user" : {
"profile" : {
...
}
},
"maxMessages" : 25
},
{
"user" : {
"profile" : {
...
}
}
"maxMessages" : 25
}
],
"display_name" : "Testing"
}
现在,我正在尝试运行mongo查询,该查询将通过嵌入的活动用户并将maxMessages按给定值递增。
我似乎无法做到这一点。
这是我失败的尝试
activeUsersLength = Rooms.findOne({}).active_users.length
for i in [0..activeUsersLength-1]
Rooms.update({_id: room}, {$inc: {'active_users.' + i + '.maxMessages': 1}})
答案 0 :(得分:0)
Rooms.update({_id:room, "active_users.user": { $exists : true } },{$inc:{"active_users.$.maxMessages":1} })
我没有测试
看一看 http://docs.mongodb.org/manual/reference/operator/projection/positional/#proj.S
由于@ dgiugg的评论,您无法更新数组https://jira.mongodb.org/browse/SERVER-1243中的更多元素