Я пытаюсь использовать операцию findAndModify
для поиска и обновления документа.
Query: {'socket_id': data.socket_id, 'weapons.type': selectedWeapon, 'battleWeapons.type':selectedWeapon}
Update: {'$inc':{'weapons.$.nums':-1, 'battleWeapons.$.nums':-1}}
У меня есть Doc в моей функции обратного вызова (поэтому он найден по запросу), но в документе MongoDB нет никаких изменений. Та же команда отлично работает в консоли монго. Он меняет все, что мне нужно. Что я делаю не так?
Итак, вся команда выглядит так:
db.collection('users', function (err, collection) {
var condition = {'socket_id': data.socket_id, 'weapons.type': selectedWeapon, 'battleWeapons.type':selectedWeapon},
update = {'$inc':{'weapons.$.nums':-1, 'battleWeapons.$.nums':-1}};
collection.findAndModify(condition, [['_id','asc']], update, {'new': true}, function (err, item) {...
})});