#mongodb #typeorm
#mongodb #typeorm
Вопрос:
У меня есть следующий запрос, который должен получить объекты, у которых есть дата госпитализации в будущем, из моего MongoDB:
return await this.hospitalRepository.find({
where: {
hospitalizedUntil: MoreThanDate(new Date(), EDateType.Datetime)
}
});
Где больше данных:
const MoreThanDate = (date: Date, type: EDateType) => MoreThan(format(date, type));
Однако этот запрос не возвращает никаких объектов, даже несмотря на то, что в Mongo есть объект, в котором hospitalizedUntil находится в будущем:
(Текущая дата и время: 2020-08-28T17:11:09.888Z)
[
Hospital {
_id: 5f492efd50e81f63dc60c5d3,
discordId: 'xxxxxxxxxxxxxxxxx',
hospitalizedUntil: 2020-08-28T18:51:17.627Z,
reason: 'Was robbed',
hospitalizedBy: 'xxxxxxxxxxxxxxxxx'
}
]
Я также пытался использовать оператор Between:
where: {
hospitalizedUntil: Between(new Date(), new Date('9999-12-31'))
}
Но это также вернуло пустой массив.
Ответ №1:
Возникла та же проблема, и ее решили с помощью собственного запроса MongoDB.
hospitalizedUntil: { $gte: format(new Date(), EDateType.Datetime) }
Я думаю, что эти функции просто не работают на MongoDB (хотя я не нашел ничего, связанного с этой проблемой)