У меня есть объект MongoDb, например
{
"_id": 1.
"updateAfter":"2021-06-28T03:31:53.000Z",
"isPassed": false
}
Я хочу обновить "isPassed": true
после указанного времени "updateAfter"
.
Допустим, текущее время 29 мая, 12:30. updateAfter : 30 May 10: 50 am
. Я пытаюсь isPassed: true
, когда текущее время превышает 30 мая (или больше, чем текущее время).
Возможно ли это с процессом MongoDB TTL indexing
или любой другой идеей, такой как процесс time scheduler
?
Как я могу это сделать?
Вы можете использовать агрегацию
update()
Работает MongoDB
Здесь вы имели в виду агрегацию как структуру агрегации или нет? — person Mijanur Rahman; 29.05.2021
Да, вы можете ссылаться на docs.mongodb.com/manual/ учебник/ — person Mijanur Rahman; 29.05.2021
Могу ли я использовать myModel.findOneAndUpdate({}) без обновления? — person Mijanur Rahman; 29.05.2021
Где я использую isPassed: true в вашем запросе? — person Mijanur Rahman; 29.05.2021
пройдёте ли вы updateAfter? — person Mijanur Rahman; 29.05.2021
да. Но вы используете 2021-07-28T03:31:53.000Z — это текущее время? Мой запрос должен проверить, что текущее время (время выполнения или машинное время) больше, чем время updateAfter. — person Mijanur Rahman; 29.05.2021
Таким образом, вы можете легко пройти
new Date()
, не так ли?. не знаю насчёт мангуста — person Mijanur Rahman; 29.05.2021В основном новая дата — это текущая дата. Но я пытаюсь сказать, что проверяю время между updateAfter и текущим машинным временем. Вы проверяете между двумя фиксированными значениями. Но я хочу запросить значение ограничения по времени. В основном, когда текущее время будет больше, чем updateAfter, тогда isPassed: true. — person Mijanur Rahman; 29.05.2021
Потому что после запуска сервера или запроса mongoDb переменная new Date() не будет обновляться. Итак, как я могу проверить, что текущее время больше, чем время updateAfter? — person Mijanur Rahman; 29.05.2021
Нет, что я пытаюсь сказать, если вы можете передать текущую дату и время в
$gte: [ "$updateAfter", // set the date time here ]
, иногда это может помочь получить текущую дату [stackoverflow.com/questions/7675549/ — person Mijanur Rahman; 29.05.2021Вам нужно передать текущую дату и время в запрос — person Mijanur Rahman; 29.05.2021
Когда я нажимаю новую дату(). Доза не обновляется после. Итак, как мне проверить, что текущее время больше, чем время updateAfter. Могу ли я использовать функции типов seTimeOut или setInterval в MongoDb? — person Mijanur Rahman; 29.05.2021
можешь показать как ты поставил? — person Mijanur Rahman; 29.05.2021
Я обновил ответ, пожалуйста, посмотрите — person Mijanur Rahman; 29.05.2021
Я думаю, что не могу правильно объяснить вам проблему. Допустим, текущее время 29 мая, 12:30. ОбновлениеПосле: 30 мая 10: 50 утра. Это всегда верно, потому что updateAfter всегда больше, когда мы помещаем данные в базу данных. Но я пытаюсь isPassed: true, когда текущее время превышает 30 мая (или больше текущего времени). — person Mijanur Rahman; 29.05.2021
Я также обновляю вопрос. — person Mijanur Rahman; 29.05.2021
Давайте продолжим обсуждение в чате. — person Mijanur Rahman; 30.05.2021
Пожалуйста, проголосуйте за мой вопрос. — person Mijanur Rahman; 05.06.2021