Java Firebase数据库,查找现有值

Java Firebase数据库,查找现有值,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我有一个firebase数据库,其结构如下所示: [unique key1] [key1] value1 : abc value2 : def [key2] value1 : xyz value2 : pqr 我知道唯一键unique key1,我需要知道该数据库中是否有value1中的值abc。我编写了如下所示的代码,但它总是返回零 FirebaseDatab

我有一个firebase数据库,其结构如下所示:

[unique key1]

        [key1]
            value1 : abc
            value2 : def

        [key2]
            value1 : xyz
            value2 : pqr
我知道唯一键
unique key1
,我需要知道该数据库中是否有
value1
中的值
abc
。我编写了如下所示的代码,但它总是返回零

 FirebaseDatabase.getInstance().getReference().child(unique key1).orderByChild("value1").equalTo("abc").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            if (dataSnapshot.getChildrenCount() == 0) {
                      Toast.makeText(context, abc, Toast.LENGTH_SHORT).show();
            } else {
               Toast.makeText(context, "Not found", Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
有人能指出我的代码有什么问题吗。
提前谢谢。

你真的很接近了。在本例中,您需要的不是
orderByChild
,而是
orderByValue
,因为您实际上在寻找具有特定值的子级。因此:

FirebaseDatabase.getInstance().getReference()
    .child(unique key1).orderByValue().equalTo("abc")
    .addListenerForSingleValueEvent(new ValueEventListener() {
        public void onDataChange(DataSnapshot snapshot) {
            for (DataSnapshot item: snapshot.getChildren()) {
                System.out.println("Found matching value in "+item.getKey());
            }
        }

你真的很接近。在本例中,您需要的不是
orderByChild
,而是
orderByValue
,因为您实际上在寻找具有特定值的子级。因此:

FirebaseDatabase.getInstance().getReference()
    .child(unique key1).orderByValue().equalTo("abc")
    .addListenerForSingleValueEvent(new ValueEventListener() {
        public void onDataChange(DataSnapshot snapshot) {
            for (DataSnapshot item: snapshot.getChildren()) {
                System.out.println("Found matching value in "+item.getKey());
            }
        }

你在哪里分配abc的价值?你在哪里分配abc的价值?