Как в mongodb обновить одно поле у всех записей в одной коллекции?
Есть поле — viewsMonth, которое нужно по крону обнулить 1го числа каждого месяца. Как можно это сделать одним запросом без получения записей с базы и обновления по идентификатору?
The Mongo DB update command supports several modifiers, all of which atomically update an element in a document. They include:
$set — set a particular value
$unset — delete a particular field (v1.3+)
$inc — increment a particular value by a certain amount
$push — append a value to an array
$pushAll — append several values to an array
$pull — remove a value(s) from an existing array
$pullAll — remove several value(s) from an existing array
$bit — bitwise operations
These modifiers are convenient ways to perform certain operations atomically.
db.transactions.update({}, {$set: {viewsMonth: 0}}) — я так же пытался — не выходит.
Проблема решилась следующим способом: у метода update 4-й параметр «multi». Он по стандарту идет фолс.
Отработал пример: db.transactions.update({}, {$set: {viewsMonth: 0}}, false, true);
Странно, там есть нужный пример, но их способ не работает (по крайней мере у меня и по докам), с формулировкой «multi update only works with $ operators».