2

我正在尝试使用位置运算符运行以下更新命令。

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") } } )

该查询有 2 个数组,_acl.5370b9af4a6b2a941ad3bf5e并且rooms. 我想使用位置运算符更新房间数组,但我的更新转到房间数组中的错误元素。

如果我从查询中删除这'_acl.5370b9af4a6b2a941ad3bf5e': 'read'部分,这个问题就会消失。

我认为 mongodb 使用_acl数组中的位置,即使在 $set 部分我使用的是rooms数组。这是MongoDB中的错误吗?

4

0 回答 0