【问题标题】:How do I check if a value exists in a Firebase DB based on another value如何根据另一个值检查 Firebase 数据库中是否存在某个值
【发布时间】:2018-10-15 17:22:42
【问题描述】:

以下代码检查 ID U1EL5623 是否存在。
但是,我需要一个额外的条件。
只有当 fName 也等于 John

时,它才应该返回 true

有没有办法根据另一个项目的值来检查一个值是否存在?

代码

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

数据

{
  "users": {
    "-KKUmYgLYREWCnWeHCvO": {
      "fName": "Peter",
      "ID": "U1EL9SSUQ",
      "username": "peter01"
    },
    "-KKUmYgLYREWCnWeHCvO": {
      "fName": "John",
      "ID": "U1EP7532",
      "username": "john.doe"
    },
    "-UIgmYgLWDRWCnWeHCpF": {
      "fName": "Alex",
      "ID": "U1EL5623",
      "username": "Alex.JP"
    }
  }
}

【问题讨论】:

    标签: javascript json firebase-realtime-database


    【解决方案1】:

    获得值后,您可以遍历所有结果及其对象,然后您还可以像这样检查 fName 是否等于 John:

    ref.child("users").orderByChild("ID").equalTo("U1EL5623").once("value",snapshot => {
    const userData = snapshot.val();
    snapshot.forEach(function(childSnapshot) {
    var childKey = childSnapshot.key;
    var childData = childSnapshot.val();
    if (userData && childData.fName === 'John'){
      console.log("exists!");
    }
    

    });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-21
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多