【问题标题】:Adding list of data in Firebase在 Firebase 中添加数据列表
【发布时间】:2016-07-30 04:54:10
【问题描述】:

以下代码按预期工作。但我有两个问题:

// Save default Account Types
var refTypes = this.housesRef.child(key + "/memberaccounttypes/");
refTypes.push({ name: 'Checking', icon: '0' });
refTypes.push({ name: 'Savings', icon: '0' });
refTypes.push({ name: 'Credit Card', icon: '0' });
refTypes.push({ name: 'Debit Card', icon: '0' });
refTypes.push({ name: 'Investment', icon: '0' });
refTypes.push({ name: 'Brokerage', icon: '0' });
  1. 通过这种方法,我是否会多次访问 Firebase,每次推送一次?
  2. 是否有更高效、最佳实践的方法来一次保存所有以下数据?

我正在使用 Firebase SDK 3

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    以这种方式每次调用 push 确实会导致到 Firebase 的往返。您可以通过检查浏览器调试工具的网络选项卡上的“Web Sockets”窗格轻松验证这一点。

    如果您想将其作为单个更新运行,您可以将它们组合成一个多位置更新:

    var refTypes = this.housesRef.child(key + "/memberaccounttypes/");
    var updates = {};
    updates[refTypes.push().key] = { name: 'Checking', icon: '0' };
    updates[refTypes.push().key] = { name: 'Savings', icon: '0' };
    updates[refTypes.push().key] = { name: 'Credit Card', icon: '0' };
    updates[refTypes.push().key] = { name: 'Debit Card', icon: '0' };
    updates[refTypes.push().key] = { name: 'Investment', icon: '0' };
    updates[refTypes.push().key] = { name: 'Brokerage', icon: '0' };
    refTypes.update(updates);
    

    请注意,这几乎不会节省任何时间/带宽,因为the Firebase client pipelines requests

    【讨论】:

    • 一如既往,你是最棒的。谢谢弗兰克!
    猜你喜欢
    • 1970-01-01
    • 2017-01-23
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多