gpt4 book ai didi

javascript - 加入 Firebase

转载 作者:行者123 更新时间:2023-12-02 23:58:09 25 4
gpt4 key购买 nike

我有两个“表”,分别是 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"
}
}
}

Code :

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

Display

最佳答案

在 NoSQL 世界中,为了轻松编写查询而复制数据是很常见的(您会在网络上找到很多关于此主题的“文献”)。

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

如果您按如下方式复制数据,您将通过一次查询获得信息:

{
"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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com