Cloud Firestore 字符串 >= 字符串

Tap*_*jee 5 firebase google-cloud-firestore

以下是 Cloud Firestore 列表查询中的示例之一

citiesRef.where("state", ">=", "CA").where("state", "<=", "IN")
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

这是我可以进行搜索子字符串的查询的方式吗?例如,我有一个用户集合,我的所有用户文档都有名字和姓氏。现在,作为用户,我尝试通过输入名称的一部分并进行搜索来搜索其他人。我应该能够编写一个查询来获取名称包含该字符串的所有用户。我该如何在 Firestore 中执行此操作?

Sam*_*ern 5

[Googler 此处]要回答您的第一个问题,是对属性值排序小于或等于 valuestate <= "IN"的所有文档进行查询。因此,如果状态是,那就是真的,但如果是,或者按照字典顺序排列的那些则不然。state"IN""IM""IO""IP"

这里的使用"IN"可能会令人困惑,它是印第安纳州的缩写,但它也是许多其他数据库系统中的保留词。

要回答第二个问题,Cloud Firestore 不支持任何本机“contains”、操作或其他常见字符串查询,例如“beginsWith”、“endsWith”、“like”等。这样做的原因是所有 Cloud Firestore 查询都必须命中索引,现在我们不以加快查询速度的方式对文本字段建立索引。

目前,我们建议使用 Algolia 等第三方搜索提供商,我们在此提供了一些相关指南: https: //firebase.google.com/docs/firestore/solutions/search