2015-03-22 3 views
0

У меня есть модель под названием пункт, и я хочу, чтобы увеличить количество из пунктапроблемы функции петлевой UpdateAll

Так что я код:

Item.updateAll({name:'bar'},{count:'count'+1},function(err,items){ 

}); 

Но, к сожалению, это не сработало.

Я знаю, что я могу сделать это

Item.findOne({name:'bar'},function(err,item){ 
    Item.updateAll({name:'bar'},{count:item.count+1},function(err,items){ 

    }) 
}); 

Но это так же, как дурак.

Есть ли какой-либо красивый способ увеличить счет?

ответ

2

Этот ответ работает только для соединителя mongodb AFAIK, поскольку он использует оператор $inc. Вам нужно добавить "allowExtendedOperators": true к вашему источнику данных, см. this issue для получения дополнительной информации.

Это обновит атрибут count от 1

Item.updateAll({name:'bar'}, {'$inc': {count: 1}}, function(err, items) { 
    console.log('updated', items); 
}); 
+0

Спасибо !!!!!!! – Wrq

Смежные вопросы