我使用orderByKey
通过Firebase中的密钥请求数据。如果键相似,我可以得到几个对象 - 以相同的字符串开头或结尾。
但是如何通过向Firebase提出一个请求来检索完全不同的密钥,例如" N:1-2-3"和" n:2-3-4"?我使用equalTo
,但我可以在那里指定多个密钥吗?
我知道如何使用不同的请求 - 每个键一个请求,但它不是最佳的。
答案 0 :(得分:1)
目前firebase仅支持一个条件。在下文中解释更多: -
如果我们假设你有两个a123
和a234
的密钥,那么要检索你可以这样做:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference();
ref.orderByKey().startAt("a").limitToLast(10).addValueEventListener(..){..}
limitToLast()方法用于设置要为给定回调同步的最大子项数
您可以使用limittolast或limittofirst来限制从数据库获得的结果。
目前firebase仅支持一种情况。因此,您不能拥有多个orderbykey
或orderbychild
或两者一起......