Я бы установить мин значение, максимальное значение и приращение счетчика в пределах документа с одним обновлением, но не могу найти правильный синтаксисMongoose findOneAndUpdate с операторами обновления нескольких полевых
Это работает для увеличивающихся счетчиков в документе:
Temperature.findOneAndUpdate(dailyQuery,
{ $inc: { temperature_sum : thermometer.temperature, count : 1 }},
{upsert : true}, function(err, dailyTemp) {
if (err) throw err;
console.error(dailyTemp);
});
Я хотел бы также установить значение макс мин также и думал, что команда обновления будет вдоль линий
Temperature.findOneAndUpdate(dailyQuery,
{ $inc: { temperature_sum : thermometer.temperature, count : 1 },
$max :{ max_temp : thermometer.temperature},
$min :{ min_temp : thermometer.temperature}},
{upsert : true}, function(err, dailyTemp) {
if (err) throw err;
console.error(dailyTemp);
});
Но я получаю
MongoError: exception: Invalid modifier specified $min
Что мне здесь не хватает?
Ваш код отлично работает, когда я пытаюсь его использовать. Оператор '$ min' был добавлен в MongoDB 2.6, вы используете версию старше этого? – JohnnyHK
Спасибо, вот в чем проблема, я использую 2.4.10 на пи. Я не думал запускать команду вручную в самой манго, но да $ max и $ min недействительны. Если вы установите это как ответ, я приму это. – Bacon