【问题标题】:How to insert/update data in firebase using javascript? [closed]如何使用javascript在firebase中插入/更新数据? [关闭]
【发布时间】:2018-02-11 09:14:00
【问题描述】:

我有一个节点结构如下所示的 firebase 数据库。如何使用 javascript 从网页插入/更新数据?我想在 promo_ar、promo_en 和 promo_fr 中分别插入数据。

我是 firebase 的新手,我们将不胜感激!

【问题讨论】:

标签: javascript database firebase web firebase-realtime-database


【解决方案1】:

你必须这样做

firebase.database().ref('Promotions/promo_en').set({
    desc_promo: value,
    name_promo: value
  });

请记住,使用 set 更新数据库节点的元素,另一方面,当您执行这种类型的更新时,您必须发送两个元素以在该节点内更新,如果省略任何元素,它是例如,从您的基地中删除...

firebase.database().ref('Promotions/promo_en').set({
    desc_promo: value,

  });

在这种情况下,只有 desc_promo 被更新,从而消除了其余的节点元素。

以同样的方式,您可以在这样的元素中插入新节点

firebase.database().ref('Promotions/promo_es').set({
    desc_promo: value,
    name_promo: value

  });

通过这种方式,我们将西班牙语添加到促销节点

聚合:

你可以在一个主节点下面有任意多的节点,记住如果你要更新最终节点,它不会影响较高的节点,但较高的节点会影响较低的节点,例如

firebase.database().ref('Promotions/promo_es/exchange').set(
    { 
        desc_promo: value, 
        name_promo: value 
    }
);

Promotions
        |_>promo_es
                |_>desc_promo : value 
                |_>name_promo : value 
                |_>exchange
                        |_>desc_promo : value //<-this is updated or created
                        |_>name_promo : value //<- this is updated or created

现在如果您编辑 Promotions / promo_es 节点而不包括其子节点,这些将被删除,您可以在 firebase 中执行您认为方便的测试,以完善在您的系统中使用的方法

【讨论】:

  • 非常感谢!像魅力一样工作! :)
  • 还有一件事!如果我在给定节点下有另一个节点.....例如在 promo_es 下进行交换,它会以这种方式工作吗? firebase.database().ref('Promotions/promo_es/exchange').set({ desc_promo: value, name_promo: value });
  • 我已在我的答案中添加信息以补充此问题
  • 很抱歉再次打扰你,伙计!如果我只想更新一个值,例如 desc_promo 并保持 name_promo 原样,如何在不为 name_promo 发送任何值的情况下执行此操作?
  • 使用 firebase 实时数据库我认为你不能这样做,因为我认为你应该使用 firebase Cloud Firestore 尽管在本节中他们解释了如何更新数据的特定点 @987654322 @在实时数据库中具有de更新功能
猜你喜欢
  • 2020-08-28
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多