在 Firebase 中更新密钥

phi*_*hil 0 javascript firebase firebase-realtime-database

我一直在浏览文档,但我没有看到更新特定键值的方法(同时保留其余键)。实现这一目标的唯一方法是获取现有数据并使用 set() 覆盖它吗?

我有这样的事情:

firebase.database()
  .ref(`/users/${currentUser.uid}/products/${productKey}`)
    .set({category: name});
Run Code Online (Sandbox Code Playgroud)

其中产品有许多其他键值对,并且使用 set() 覆盖整个对象,在这种情况下这不是我想要的。

我感谢任何帮助!

Fra*_*len 5

更新特定字段部分:

要同时写入节点的特定子节点而不覆盖其他子节点,请使用update()方法。

在您的代码段中,这将是:

firebase.database()
  .ref(`/users/${currentUser.uid}/products/${productKey}`)
  .update({category: name});
Run Code Online (Sandbox Code Playgroud)