我的代码
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("stock");
Query i = myRef.orderByChild("keywords").equalTo("Hammer");
i.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println(dataSnapshot.getValue());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我的问题:我想用关键字查询一个项目,例如。 " Hammer",但我只是将null作为值。如果我查询" orderByChild("关键字")。equalTo(" Hammer")"我得到了相同的空值。请帮帮我。
答案 0 :(得分:1)
orderByChild
只会查看您在/stocks
中引用的分支的下一级子项。只有在孩子keywords/0/keyword
右下方/stocks
时,您的代码才有效。由于它在/stocks/inserate/0
之下它不会起作用。
Query i = myRef.child("inserate/0/keywords").orderByChild("keyword").equalTo("Hammer");
这可以解决问题,但可能不是你想要的。如果你想搜索所有iserates
个孩子,你应该对你的数据库进行一些重构。