簡體   English   中英

Firestore:查詢所有集合 orderBy 和 startsWith last 1 結果

[英]Firestore : Query all collections orderBy and startsWith last 1 result

我正在嘗試查詢 Firestore :

收藏“用戶”
orderBy 列“User_Slug”
匹配搜索查詢,例如“kanak”和
獲得最后 1 個結果。

所以,如果我在“用戶”中有總共 3 個文件

  • 卡納克-01
  • 卡納克-02
  • 卡納克-03

結果必須是kanak-03

.orderBy("User_Slug", Query.Direction.ASCENDING)
.startAt(queryText)
.get()

但是,它返回了用戶中以 kanak 和 rest 開頭的 slug 匹配的所有文檔-

  • 卡納克-01
  • 卡納克-02
  • 卡納克-03
  • 彼得
  • 羅馬
  • 羅馬-02
  • 托馬斯
  • 勝利者

要解決此問題,請使用以下查詢:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference usersRef = rootRef.collection("User-Info");
usersRef.orderBy("User_Slug", Query.Direction.ASCENDING)
    .startAt(queryText)
    .endAt(queryText + "\uf8ff")
    .limit(1)
    .get();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM