检查密钥是否存在 firebase Android

check if a key exist firebase Android

我想检查 firebase 数据库中是否存在密钥。例如,我想查找密钥 "upvotes" 以查看它是否存在。

这里有一个例子,"upvotes"这里不存在密钥:

现在我尝试检查密钥 "upvotes" 是否在这个位置:

        Map<String, Object> newPost = (Map<String, Object>) ids.next().getValue();
            if(newPost.get("upvotes").toString().equals("upvotes")){
                disp_rate = newPost.get("upvotes").toString();
            }
            else
            {
                disp_rate = "0";
            }

我的尝试是错误的,那么如何检查此位置是否存在密钥 "upvotes"。

刚好需要使用这个布尔函数containsKey

所以...

boolean check_rate = newPost.containsKey("upvotes");

if(check_rate == true){
                String disp_rate = newPost.get("upvotes").toString();
                rate_count.setText(disp_rate);
            }
            else{
                System.out.println("FAILED");
            }

如果有人遇到相同的投票问题,这将解决交易问题。

如果你想检查密钥是否存在,试试这个。

firebaseRef.orderByKey().equalTo(key).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {

              if(dataSnapshot.exists()) {
                   //Key exists
                   Log.d(TAG,""+key);
              } else {
                  //Key does not exist
              }

    }

    @Override
    public void onCancelled(FirebaseError firebaseError) {

    }
});