ms-dred
@ms-dred
Вечно что то не то и что то не так...

Как при выборке узнать значение поля?

Подскажите можно ли как то узнать значение поле в документе при выборке в самом условии.
У меня в конфиге есть некоторые числовые настройки

config.basic.i = 10; //10 минут
config.average.i = 20; // 20 минут


В документе есть поле field равное или basic или average, а так же поле с датой последнего обновления updateAt
Мне нужно получить документ в котором поле

updateAt < new Date(new Date().setMinutes(new Date().getMinutes()-config['$field'].i))


Как то так
Coll.findOne({
    updateAt: {
        $lte: new Date(new Date().setMinutes(new Date().getMinutes()-config['$field'].i))
    }
})


Без приблизительно такого условия, придется получать все документы, в цикле сравнивать поле, не хотелось бы это делать если можно конечно избежать этого. Может с .aggregate можно как то?
  • Вопрос задан
  • 206 просмотров
Решения вопроса 1
@lega
Храните в документе расчетное поле (updateed - минуты из документа), и его уже используйте
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы