我有两个“表”,分别是USER和CONGE。在表“ CONGE”中,插入了用户的ID。但是,我不知道如何根据其ID显示用户的假期。

我想根据ID发布“Congé”。

{
  "conge" : {
    "-LaW8hzv8O3PSlZk6OPIJU" : {
      "Mouth" : "January",
      "id_user" : "LaW_9iIrm_-tiDpWEE7"
    }
  },
  "user" : {
    "-LaW_9iIrm_-tiDpWEE7" : {
      "email" : "asdfasdf",
      "name" : "Michel",
      "prenom" : "adadfas"
    },
    "-LaWfQpaRfludVkzAPvq" : {
      "email" : "dup@gmail",
      "name" : "Michel",
      "prenom" : "dupuis"
    },
    "-LaWfTTF-Lifs79bGbhy" : {
      "email" : "JC@gmail",
      "name" : "Jean ",
      "prenom" : "Louzis"
    }
  }
}


javascript - 加入Firebase-LMLPHP

`
  var rootRef = firebase.database().ref().child("user");

  rootRef.on("child_added",function(snap){
    var name = snap.child("name").val();
    var email = snap.child("email").val();
    var prenom = snap.child("prenom").val();


$("#table_body").append("<tr><td>"+name+"</td><td>"+prenom+"</td><td>"+email+"</td></tr>");
    // $("#table_body").append("<tr><td>"+name+"</td><td>"+email+"</td><td><button id='rem' onclick='remove()'>Remove</button></td></tr>");
  });

function remove(){


  // console.log(firebase.database().ref().child('user').push().key);
  rootRef.remove();
location.reload();
}

function add(){

  console.log(name);
  alert("COOL");
}`


javascript - 加入Firebase-LMLPHP

最佳答案

在NoSQL世界中,复制数据以轻松编写查询是很常见的(在Web上您会发现很多关于此主题的“文献”)。

使用当前的数据库结构,您将需要发出两个查询才能获取所需的数据。

如果按以下方式复制数据,则将通过一个查询获取信息:

{
  "conge" : {
    "-LaW8hzv8O3PSlZk6OPIJU" : {
      "Mouth" : "January",
      "id_user" : "LaW_9iIrm_-tiDpWEE7"
    }
  },
  "user" : {
    "-LaW_9iIrm_-tiDpWEE7" : {
      "email" : "asdfasdf",
      "name" : "Michel",
      "prenom" : "adadfas",
      "conges" : {
              "January" : true,
              "April" : true
      }
    },
    "-LaWfQpaRfludVkzAPvq" : {
      "email" : "dup@gmail",
      "name" : "Michel",
      "prenom" : "dupuis",
      "conges" : {
              "March" : true,
              "April" : true,
              "October" : true
      }
    },
    "-LaWfTTF-Lifs79bGbhy" : {
      "email" : "JC@gmail",
      "name" : "Jean ",
      "prenom" : "Louzis"
    }
  }
}


此方法的唯一缺点是必须使两个节点(即congeuser)保持同步。但这可以通过使用update()方法同时写入两个数据库节点来轻松完成,如下所示:https://firebase.google.com/docs/database/web/read-and-write#update_specific_fields

关于javascript - 加入Firebase,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55287302/

10-12 04:28