Проблема позиционного оператора MongoDB

Я пытаюсь запустить следующую команду обновления с позиционным оператором.

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?

0 ответов

Другие вопросы по тегам