如何在firebase中像firebase中的“%a%”一样在firebase中编写查询?
我尝试了以下解决方案,但没有工作 startAt(文本).endAt(文本)
请提出任何建议?
答案 0 :(得分:0)
一种实现方法是遍历密钥的子代。
private void SearchString(DatabaseReference mDatabase, final String criteria) {
mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
//loop the children of the the current key
for (DataSnapshot shot : snapshot.getChildren()){
if (shot.getValue().toString().equals(criteria)){
//found the string
// do something
//
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
鉴于所有子项都是字符串,则可以使用数据库参考和条件调用上述过程。但是,在大型数据库上可能需要一些时间。
一种提高速度的方法是实施二进制搜索,只要Firebase对您的子数据进行排序。