2017-09-28 143 views
0

假設我有一個簡單的Firebase實時數據庫結構,其中密鑰爲username,值爲userid。現在我想通過username搜索userid。如果用戶名匹配,這很容易。但如何得到部分匹配的答案。爲了更清楚,如果我寫這個使用SQL它會是這樣的:Firebase查詢部分字符串匹配

SELECT userid FROM tablename WHERE username LIKE 'abc%'

它會給我所有的useridusername開始在那裏與abc。 如何編寫這種類型的Firebase查詢?瞭解我在android設備上使用這個,可以有很多用戶。

+0

請檢查我的答案,看看它是否工作。 –

+1

https://stackoverflow.com/questions/38618953/how-to-do-a-simple-search-in-string-in-firebase-database檢查這個鏈接 – Lingeshwaran

回答

2

根據Java的管理的文檔,你可以做這樣的事情,也應該與Android

對於開始abc數據工作,

yourRef.orderByKey().startAt("abc").endAt("abc\uf8ff") 

的\ uf8ff是後的Unicode最常規字符,所以查詢應該匹配以abc開頭的所有值。

+0

是的,它的工作原理。謝謝。但是你能解釋一下「\ uf8ff」嗎?也將它返回一個userid數組? – NPN

+0

正如我已經解釋過的那樣,'\ uf8ff在Unicode中是大多數常規字符之後的,它將返回Firebase中的Query對象,您可以通過附加'ValueEventListener'獲取數據。然後從datasnapshot獲取數據。 –