gpt4 book ai didi

javascript - Firebase 理解 snapshot.child()

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

考虑 Firebase 快速入门指南 (here) 中引用的这个数据结构

{"name": {"first": "Fred","last": "Flintstone"}

文档说可以使用以下方法访问从查询返回的“name”的每个子对象的数据快照位置:

var ref = new Firebase("https://docs-examples.firebaseio.com/samplechat/users/fred");
ref.once("value", function(snapshot) {
var nameSnapshot = snapshot.child("name");
var name = nameSnapshot.val();

name === { first: "Fred", last: "Flintstone"}

var firstNameSnapshot = snapshot.child("name/first");
var firstName = firstNameSnapshot.val();
firstName === "Fred"

var lastNameSnapshot = snapshot.child("name").child("last");
var lastName = lastNameSnapshot.val();
lastName === "Flintstone"

var ageSnapshot = snapshot.child("age");
var age = ageSnapshot.val();
age === null (because there is no "age" child in the data snapshot)
});

但是当处理以下行时,这有点奇怪。

var nameSnapshot = snapshot.child("name");
var name = nameSnapshot.val();

name.firstname.last 也被检索。那么为什么要使用这种快照方法“child()”呢?或者更确切地说,什么时候使用此方法会有好处,因为当您拉动父对象时,Firebase 会拉动所有子对象,或者是否有一种方法可以检索父节点/对象而不拉动其中的一些子对象?那么这个方法对我来说就有意义了。

任何信息将不胜感激!谢谢

最佳答案

is there a way to retrieve a parent node/object without pulling some of it's children?

Firebase JavaScript API 始终检索完整的节点。所以:不,JavaScript API 中没有办法获得浅表结果/

why would one use this snapshot method child()?

如果我们比较 snapshot.child("property")snapshot.val().propertyDataSnapshot.child() 方法返回一个DataSnapshot,您可以从中再次获取一个refval() 方法将快照的值反序列化为 JSON。因此,如果您需要,则必须构建自己的 ref。但是每个的值(value)在很大程度上取决于您的用例,所以“为什么”不是我可以为您回答的问题。

关于javascript - Firebase 理解 snapshot.child(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31144859/

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