检查一个密钥是否存在firebase Android

问题描述 投票:4回答:2

我想检查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”。

android key firebase exists not-exists
2个回答
4
投票

只需要使用这个布尔函数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");
            }

如果有人对upvotes有同样的问题,这将修复交易。


2
投票

如果要检查密钥是否存在,请尝试此操作。

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) {

    }
});
© www.soinside.com 2019 - 2024. All rights reserved.