check if a key exist firebase Android

12,524

Solution 1

Just needed to use this boolean function containsKey

so...

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");
            }

This will fix the transaction if anyone is having the same issue with upvotes.

Solution 2

If you want to check if key exist or not, try this.

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

    }
});
Share:
12,524
nothingness
Author by

nothingness

Updated on June 13, 2022

Comments

  • nothingness
    nothingness about 2 years

    I want to check if a key exist in the firebase db. so for example, I want to look for the key "upvotes" to see if it exist or not.

    Here is an exmaple, "upvotes" key does not exist in here: enter image description here

    Now I my attempt to check if the key "upvotes" is at this location:

            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";
                }
    

    My attempt is wrong, so how do I check if the key "upvotes" exist at this location.