【问题标题】:Firestore - getting entries using 2 columnsFirestore - 使用 2 列获取条目
【发布时间】:2022-01-07 06:28:15
【问题描述】:

我有一个 meeting 集合,其中包含以下文档:

{
name: John
date: 1 Jan 2021
time: 10am
meeting note: morning standup
}

我想获取带有 name=John 和今天之后日期的文档。

由于 Firestore 不支持使用两个字段进行查询,我想我需要获取 name=John 并过滤自己以获取今天之后的日期?如果是,是否有更有效的方法来做到这一点?

【问题讨论】:

  • 为什么说它不支持使用两个字段的查询呢?只要你创建了对应的index,确实可以,对吧?

标签: firebase google-cloud-platform google-cloud-firestore


【解决方案1】:

虽然 Firestore 可以执行的查询类型有 limits,但这似乎在其限制范围内。在 JavaScript 中是:

import { query, where } from "firebase/firestore";  

const q1 = query(citiesRef, where("nam", "==", "John"), where("date", ">=", new Date()));

如果查询没有立即返回结果,请检查日志输出,因为您可能需要在两个字段上创建复合索引。在这种情况下,日志输出将包含一条错误消息,其中包含创建索引的直接链接(字段已填写)。

另请参阅compound queries 上的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 2022-01-21
    • 2015-01-01
    • 1970-01-01
    相关资源
    最近更新 更多