Firebase查询未返回与其匹配的值

时间:2018-08-19 22:04:58

标签: android firebase firebase-realtime-database

我的代码是这个

ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for(DataSnapshot single : dataSnapshot.getChildren()){
                quickResultsAdapter.add(single.child(getString(R.string.db_displayName)).getValue().toString());
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    };

查询就是这样

query =  application.getMRef().child(getString(R.string.db_user_details)).orderByChild(getString(R.string.db_displayName))
                    .startAt("vikass").endAt("vikass"+"\uf8ff");
                query.addValueEventListener(valueEventListener);

如果我查询vikass时我的数据库值为vikassharma,则不返回任何内容

1 个答案:

答案 0 :(得分:1)

如果您有此数据库:

rootNode
  user_details
       displayName: vikassharma

然后您无需添加child(getString(R.string.db_user_details)),只需执行以下操作:

query =  application.getMRef().orderByChild(getString(R.string.db_displayName))
                .startAt("vikass").endAt("vikass"+"\uf8ff");
            query.addValueEventListener(valueEventListener);