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