gpt4 book ai didi

javascript - 通过 "onchildchanged"和 "onchildadded"从 firebase 数据库获取嵌套数据会返回无法识别的内容

转载 作者:行者123 更新时间:2023-12-03 05:42:11 25 4
gpt4 key购买 nike

console_screenshot

这是显示输出的控制台屏幕截图,即添加到其中一个用户的消息目录中的子项。

另外,必须注意的是,我显示了控制台的非常短的部分,因为控制台为每条消息显示类似的输出。如果需要更多屏幕截图来澄清,请告诉我,我会添加它们!

这是我的 json 代码:

{
"Tf42glUiUvbF1yGMX1CseYD6EVC3" : {
"intents" : {
"intentFields" : "",
"intentName" : ""
},
"messages" : {
"-KViVgc7ZG051eMXP0-5" : {
"name" : "Ed",
"photoUrl" : "https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-512.png",
"text" : "Hello, I'm Ed, your personal assistant cum friend",
"timeStamp" : "1476880306"
},
"-KW3C8azYBP_-BIlWmNV" : {
"name" : "Aakash Bansal",
"photoUrl" : "https://lh5.googleusercontent.com/-oQyA4HXVycc/AAAAAAAAAAI/AAAAAAAAHKo/Ov0A0p0LjiY/s96-c/photo.jpg",
"text" : "hi", //this is the message displayed in the console above.
"timeStamp" : "1478613047"
}
}
},
"gFiPrpHcHeMkqG2tGUi1aolIR3x1" : {
"intents" : {
"intentFields" : "",
"intentName" : ""
},
"messages" : {
"-KViVgc7ZG051eMXP0-5" : {
"name" : "Ed",
"photoUrl" : "https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-512.png",
"text" : "Hello, I'm Ed, your personal assistant cum friend",
"timeStamp" : "1476880306"
}
}
}

}

这是我的node.js代码:

ref.on("child_changed", function(snapshot){
snapshot.ref.child("messages").on("child_added", function(itemSnapshot) {
var mytemp = itemSnapshot.child("text");
console.log(mytemp);
});
});



注意我在 stackoverflow 上查看了一些类似的问题,但是当我实现它们时,我发现它们属于过时的 firebase 版本,并且在当前版本中不起作用。

编辑 通过使用以下代码,我现在为添加的每个子项获取 null 。另外,我想问一下如何获取 child 发生变化的 parent 或用户的id。代码是:

ref.on("child_changed", function(snapshot){
//using limitToLast(1) to get last value only
snapshot.ref.child("messages").orderByKey().limitToLast(1).once("value", function(itemSnapshot) {
var mytemp = itemSnapshot.child("text").val();
console.log(mytemp);

});});

console.png这是使用此代码后控制台的屏幕截图我得到了上述问题的答案,但唯一剩下的疑问是如何获取子节点已更改的节点的父节点?

如有需要,请随时要求提供更多说明
谢谢!!

最佳答案

我想您可能正在寻找这个:

ref.on("child_changed", function(snapshot){
snapshot.child("messages").forEach(function(itemSnapshot) {
var mytemp = itemSnapshot.child("text").val();
console.log(mytemp);
});
});

关于javascript - 通过 "onchildchanged"和 "onchildadded"从 firebase 数据库获取嵌套数据会返回无法识别的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40482817/

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