0
我有這樣的規則在我火力數據庫火力地堡的OrderBy()與equalTo()返回零個項目
"Item":{
"$userId": {
".write": "auth != null && $userId === auth.uid"
}
}
我有這樣的數據
Item
nXQw4a2jlMg34567811glaTD0bE2
-KNJLSxfR_S8AeLj0v7d
height:20
id:-KNJLSxfR_S8AeLj0v7d
當我寫如下的查詢,一切正常。
mDataBase = FirebaseDatabase.getInstance().getReference(FirebaseConstants.ITEM);
query = mDataBase.orderByChild("userId/height").limitToLast(2);
但下面的查詢返回零
public void getItems(String key){
//key is -KNJLSxfR_S8AeLj0v7d
DatabaseReference reference = FirebaseDatabase.getInstance().getReference(FirebaseConstants.ITEM);
reference.orderByChild("userId/id").equalTo(key).addValueEventListener(new MyEventListener());
}
我的聽衆
private class MyEventListener implements ValueEventListener{
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot != null){
Log.d("size is "+dataSnapshot.getChildrenCount()) // returns 0
for(DataSnapShot entry: dataSnapshot){
Item item = entry.getValue(Item.class);
Log.d("height is "+ item.getHeight())
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
}
爲什麼回零,我已經在我的火力DB數據?