从文档“ ...中where()方法采用三个参数:一个要过滤的字段,一个比较操作和一个值。比较可以是<,<=,==,>或> = ... ”我们需要执行的查询是:等于(==)不等于 (???)小于(<)大于(>)小于或等于(<=)大于或等于(> =)包含(???)不含 (???)以。。开始 (???)在此问题中,建议执行全文搜索,例如Elastic或Algolia。我不需要全文搜索-我只需要这些基本运算符即可在指定字段中进行搜索。但是更大的问题是我的应用程序在相当长的一段时间内处于脱机状态,并且我们缓存了需要脱机的数据,并且脱机的全文本搜索不是一种选择(除非获得Enterprise($$ ($$$$$)Algolia牌照-但对于我们正在寻找的东西来说仍然显得有些过高)。你们中的任何人对“ ???”时where(“ FIELD”,“ ???”,“ string”)有任何解决方案吗?是“不等于”,“包含”,“不包含”还是“以...开头”?任何想法表示感谢。
2 回答
慕仙森
TA贡献1827条经验 获得超7个赞
Cloud Firestore中没有本地“包含”,“不包含”,“以...开头”或“以...结尾”查询。
您可以使用<和来估算非常有限的“开头为”查询>,但是:
// All names starting with "Sa"
db.collection("people")
.where("name", ">", "Sa")
.where("name", "<", "Saz")
添加回答
举报
0/150
提交
取消