【问题标题】:What does a child function do in Firebase?Firebase 中的子函数有什么作用?
【发布时间】:2018-01-07 02:40:03
【问题描述】:

我正在为 Firebase 阅读 documentation,我来到了这一部分:

function writeNewPost(uid, username, picture, title, body) {
    // A post entry.
    var postData = {
    author: username,
    uid: uid,
    body: body,
    title: title,
    starCount: 0,
    authorPic: picture
  };

  // Get a key for a new Post.
  var newPostKey = firebase.database().ref().**child('posts')**.push().key;

我应该如何理解这一点?目前我认为这是在说“从数据库的根目录,创建一个节点并将其访问密钥存储在一个变量中”。使用带有“帖子”的子功能有什么用?我可以运行类似下面的代码并得到相同的结果。

  var newPostKey = firebase.database().ref().push().key;

【问题讨论】:

    标签: javascript database firebase firebase-realtime-database


    【解决方案1】:

    在文档中的其余代码示例的上下文中(您未在此处显示),您的第二段代码并没有真正给出相同的结果。

    实际上,您显示的代码实际上并没有在数据库中创建任何数据,因为如果没有任何东西传递给 push(),那么它只会返回对您的位置(带有唯一键)的引用以后可以写信给。您省略的示例部分实际上执行了更新。

    child() 的 API 文档说:

    获取指定相对路径位置的引用。

    该方法可帮助您构建参考路径。如果在第二个示例中没有调用 child(),则引用将位于数据库的根目录,而不是在“/posts”下。虽然在这两种情况下您都会获得一个唯一键,但它在数据库中的位置会有所不同(在您实际在那里写入数据之后)。

    【讨论】:

    • 感谢您的反馈。我以为其他人读起来会太长,但我想我错了,把事情断章取义了。谢谢,我也会记下下次阅读参考文献。
    猜你喜欢
    • 1970-01-01
    • 2011-12-15
    • 2015-10-08
    • 2012-10-14
    • 2016-04-16
    • 2010-12-05
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多