这就是我的Firebase数据库的样子。
subscriber
u36eD7PsOaf6uo0CGuGPBjC3Y223
children: false
empty: false
id:"u36eD7PsOaf6uo0CGuGPBjC3Y223"
name: "JACKSON"
smoker:false
我想找到与id = u36eD7PsOaf6uo0CGuGPBjC3Y223
匹配的记录。
以下是我的代码,无法检索记录
Query recentPostsQuery = mRef.orderByChild("id").equalTo("u36eD7PsOaf6uo0CGuGPBjC3Y223");
recentPostsQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.e("Count ", "" + dataSnapshot.getChildrenCount());
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
subscriber = postSnapshot.getValue(Subscriber.class);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
Log.e
count语句返回1条记录是正确的,但看起来我的查询错误,这就是我无法获取记录的原因。
答案 0 :(得分:0)
您的查询必须返回String
值,而不是Subscriber
的对象,Subscriber
的完整对象存在于节点 - u36eD7PsOaf6uo0CGuGPBjC3Y223
// With return String value which is u36eD7PsOaf6uo0CGuGPBjC3Y223
mRef.orderByChild("id").equalTo("u36eD7PsOaf6uo0CGuGPBjC3Y223");