Check if value exists in firebase DB

后端 未结 4 2023
萌比男神i
萌比男神i 2020-11-29 20:24

Is there a method in firebase, which can check if value exist in DB? Firebase has method .exists(), but according to docs it checks only the keys.

I have the followi

4条回答
  •  甜味超标
    2020-11-29 20:52

    The exists() method is part of the snapshot object which is returned by firebase queries. So keep in mind that you won't be able to avoid retrieving the data to verify if it exists or not.

    ref.child("users").orderByChild("ID").equalTo("U1EL5623").once("value",snapshot => {
        if (snapshot.exists()){
          const userData = snapshot.val();
          console.log("exists!", userData);
        }
    });
    

    Observations:

    In case you are in a different scenario which you have the exact ref path where the object might be, you wont need to add orderByChild and equalTo. In this case you can fetch directly the path to the object so it wont need any search processing from firebase. Also, if you know one of the properties which the object must have you can do as the snippet bellow and make it retrieve just this property and not the entire object. The result will be a much faster check.

    //every user must have an email
    firebase.database().ref(`users/${userId}/email`).once("value", snapshot => {
       if (snapshot.exists()){
          console.log("exists!");
          const email = snapshot.val();
       }
    });
    

提交回复
热议问题