【问题标题】:TypeORM returns empty array when querying MongoDB for dateTypeORM 查询 MongoDB 日期时返回空数组
【发布时间】:2021-06-09 06:08:36
【问题描述】:

我有以下查询,它应该从我的 MongoDB 中获取具有未来 hospitalizedUntil 日期的对象:

        return await this.hospitalRepository.find({
        where: {
            hospitalizedUntil: MoreThanDate(new Date(), EDateType.Datetime)
        }
    });

MoreThanDate:

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'))
    }

但这也返回了一个空数组。

【问题讨论】:

    标签: mongodb typeorm


    【解决方案1】:

    遇到了同样的问题,使用原生 mongoDB 查询解决了。

    hospitalizedUntil: { $gte: format(new Date(), EDateType.Datetime) }
    

    我认为这些功能在 mongoDB 上不起作用(尽管我没有找到与该问题相关的任何内容)

    【讨论】:

      猜你喜欢
      • 2016-03-24
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 2022-11-07
      • 2014-04-16
      • 1970-01-01
      相关资源
      最近更新 更多