【问题标题】:Cloud Functions Query Date from Firestore field which is a StringCloud Functions 从 Firestore 字段查询日期,这是一个字符串
【发布时间】:2021-10-18 03:30:40
【问题描述】:

我创建了一个 Firestore 数据库,所有字段都是字符串格式。

现在我需要在这个字段 (reqDate) 上按日期,它是字符串格式的。

字段上的示例数据 (reqDate) = 10/11/2021, 9:22:11 PM

我在 Cloud Functions 上尝试使用以下代码格式化字符串字段:

const thisCollection = firestore.collection("ItemList")
            .where(moment("reqDate").format('MM/DD/YYYY'), ">", "10/05/2021");

但它返回空白或没有记录。

提前致谢

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    首先,您传递给查询的条件是错误的,因为您需要通过:

    1. 第一个参数中要过滤的字段名称,现在是moment("reqDate").format('MM/DD/YYYY'),但应该是"reqDate"
    2. 运算符,在您的代码中是正确的。
    3. 要过滤的值。

    您使用的这种日期格式不适合范围过滤器,因为字符串是 ordered lexicographically,并且按此顺序:"10/05/2021""11/05/2020" 之前。

    要允许范围查询,您需要一种允许该范围查询的日期格式。当日期是字符串时,最常见的格式是基于ISO-8601,例如"2021-10-17",因为在这种格式中,10 月 17 日之后的日期可以使用:.where("reqDate", ">", "2021-10-17")

    【讨论】:

      猜你喜欢
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-11
      • 2023-04-09
      • 1970-01-01
      • 2021-05-06
      相关资源
      最近更新 更多