gpt4 book ai didi

javascript - 创建快照会下载数据吗?

转载 作者:行者123 更新时间:2023-12-02 15:59:50 25 4
gpt4 key购买 nike

当您调用快照或将其用于某些用途时,它是否会下载数据?例如,下面的代码是只从“pushedItem3”下载数据还是下载所有数据?

示例数据:

List-1: {
pushedItem1: {data},
pushedItem2: {data},
pushedItem3: {data}
},
List-2: {
pushedItem3: {data},
pushedItem4: {data},
pushedItem5: {data}
}

下面的代码在每个列表中搜索“pushedItem3”。

ref.on("child_added", function(snap){ 
var listID = snap.key();
ref.child(listID).child("pushedItem3").on("value", function(shot){
console.log(shot.val());
}
}

这可能看起来没什么,但对我来说,这是用户下载我的整个 Firebase 或仅下载相关数据之间的区别。

最佳答案

数据会在调用回调时下载。所以在你的代码中:

// nothing is downloaded yet
ref.on("child_added", function(snap){
// the key and value of snap are downloaded
var listID = snap.key();
ref.child(listID).child("pushedItem3").on("value", function(shot){
// the key and value of shot are downloaded
console.log(shot.val());
}
}

这就是 Firebase documentation recommends against arbitrarily nesting data 的原因之一:

When we read a data node in our database, we also retrieve all of its children!

这是文档中的警告,但您应该真正阅读整个页面。

旁注:您可以通过转到 Chrome 的“网络”选项卡并检查 WebSocket 流量来轻松监控 Firebase 正在检索哪些数据。

关于javascript - 创建快照会下载数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31306276/

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