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.5370b9af4a6b2a941ad3bf5erooms. 位置演算子を使用して部屋の配列を更新したいのですが、部屋の配列の間違った要素に更新が行われます。

この'_acl.5370b9af4a6b2a941ad3bf5e': 'read'部分をクエリから削除すると、この問題はなくなります。

_acl$set 部分で配列を使用しているにもかかわらず、mongodb は配列からの位置を使用していると思いますrooms。これはmongodbのバグですか?

4

0 に答える 0