代码之家  ›  专栏  ›  技术社区  ›  sooon

firebase-获取具有键的子数据库引用

  •  0
  • sooon  · 技术社区  · 6 年前

    我正在为我的网络应用程序使用FireBase,这是一个全新的应用程序。 在我阅读文档时,它提到为了最小化下载的大小(出于节省成本的原因),我们应该扁平化数据结构,这样我们就不会下载不必要的数据。但在整个文档中,它们始终首先引用整个数据库:

    dbRef = firebase.database().ref();
    

    然后只使用键对数据进行采样:

    childRef = dbRef.child(child_key)
    

    我不确定我是正确的,但至少我是这样理解的。

    我的问题是,是不是 dbRef 已经关闭了整个数据库?或者下载只在 childRef 在上面的场景中?

    任何信息都会有帮助,因为我谷歌和发现一些噩梦案件难以置信的价格,因为这个数据库问题处理不正确。

    1. 既然我处于发展的初始阶段,现在还有其他问题需要担心吗?
    2 回复  |  直到 6 年前
        1
  •  1
  •   Doug Stevenson    6 年前

    Reference 你从中得到的 ref() child() 只是指向数据库中某个位置的指针。它非常便宜,创建一个不会执行任何数据访问。

    如果要从引用中实际获取数据,必须调用 on() once() 关于它。在此之前,您所拥有的只是一个包含位置的小对象。同样的事情 Query 物体。在调用这些方法中的一个之前,它们不会执行任何查询。

        2
  •  1
  •   Y. Gherbi    6 年前

    两者之间有区别 数据库参考 而实际 数据库数据请求 ( on('value') once('value') )

    数据库引用表示数据库中的特定位置(或子级/node/ref)。 在引用对象上调用这些方法之一时( child() 还返回一个引用对象)您实际上正在获取数据,这是很昂贵的部分。 除此之外,只有一个变量保存一个引用总是一件好事。