MongoDB位置运算符问题
我正在尝试使用位置运算符运行以下更新命令MongoDB位置运算符问题,mongodb,mongoose,positional-operator,Mongodb,Mongoose,Positional Operator,我正在尝试使用位置运算符运行以下更新命令 businesses.update({ '_acl.5370b9af4a6b2a941ad3bf5e': 'read', 'rooms._id': ObjectId("5370c1ca19b56d0200b26e7f"), _id: ObjectId("5370b9af4a6b2a941ad3bf58") }, { '$set': { 'rooms.$.lastServiced': new Date("Thu, 15 May 2014 16:17:
businesses.update({ '_acl.5370b9af4a6b2a941ad3bf5e': 'read',
'rooms._id': ObjectId("5370c1ca19b56d0200b26e7f"),
_id: ObjectId("5370b9af4a6b2a941ad3bf58") },
{ '$set': { 'rooms.$.lastServiced': new Date("Thu, 15 May 2014 16:17:28 GMT") } } )
该查询有两个数组,\u acl.5370b9af4a6b2a941ad3bf5e
和房间
。我想使用位置运算符更新房间阵列,但我的更新指向房间阵列中的错误元素
如果我从查询中删除此“\u acl.5370b9af4a6b2a941ad3bf5e”:“read”
部分,这个问题就会消失
我认为mongodb使用了
\uACL
数组中的位置,即使在$set部分中我使用的是房间
数组。这是mongodb中的一个bug吗?这应该在实现时直接满足这一点: