從文檔“ ...中where()方法采用三個(gè)參數(shù):一個(gè)要過濾的字段,一個(gè)比較操作和一個(gè)值。比較可以是<,<=,==,>或> = ... ”我們需要執(zhí)行的查詢是:等于(==)不等于 (???)小于(<)大于(>)小于或等于(<=)大于或等于(> =)包含(???)不含 (???)以。。開始 (???)在此問題中,建議執(zhí)行全文搜索,例如Elastic或Algolia。我不需要全文搜索-我只需要這些基本運(yùn)算符即可在指定字段中進(jìn)行搜索。但是更大的問題是我的應(yīng)用程序在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)處于脫機(jī)狀態(tài),并且我們緩存了需要脫機(jī)的數(shù)據(jù),并且脫機(jī)的全文本搜索不是一種選擇(除非獲得Enterprise($$ ($$$$$)Algolia牌照-但對(duì)于我們正在尋找的東西來說仍然顯得有些過高)。你們中的任何人對(duì)“ ???”時(shí)where(“ FIELD”,“ ???”,“ string”)有任何解決方案嗎?是“不等于”,“包含”,“不包含”還是“以...開頭”?任何想法表示感謝。
2 回答

慕仙森
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
Cloud Firestore中沒有本地“包含”,“不包含”,“以...開頭”或“以...結(jié)尾”查詢。
您可以使用<和來估算非常有限的“開頭為”查詢>,但是:
// All names starting with "Sa"
db.collection("people")
.where("name", ">", "Sa")
.where("name", "<", "Saz")
添加回答
舉報(bào)
0/150
提交
取消