javascript - 如何使用 firebase 更新集合中的许多记录?

标签 javascript reactjs firebase firebase-realtime-database

我有这个尝试更新帖子中的用户用户名:

let postsRef = firebase.database().ref('posts/');
postsRef.child('username').update({'username': "josh2"})

问题是帖子是在一个键下的,如下所示:

posts

  |
  ---- -MOFidfjdUSJFDJ
          |
          ----- username: josh (username)
          |
          ----- text: some text 1
  |
  ---- -MOFifdjfhd
          |
          ----- username: josh (username)
          |
          ----- text: some text 2
  ---- -MOjfdjsiJidJ
          |
          ----- username: marie (username)
          |
          ----- text: some text

我想将用户名为 josh 的所有帖子更新为 josh2。我怎样才能做到这一点? 非常感谢。

最佳答案

您可以执行以下操作:

var postRef = firebase.database().ref('posts').orderByChild("username").equalTo("josh");
postRef.on('value', ((snapshot) {
   snapshot.forEach((subChild) => {
    firebase.database().ref('posts').child(subChild.key).update({"username" :"josh2"});
  });
});

https://firebase.google.com/docs/database/web/read-and-write

因此,在这里,您创建一个查询来检查 username 是否等于 josh,然后检索该用户的所有帖子,然后使用 key 属性可以获得帖子 key 并更新。

关于javascript - 如何使用 firebase 更新集合中的许多记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61339461/

相关文章:

javascript - D3 js - onClick of circle 我想在那个背景中添加区域

css - 如何制作 svg RTL

javascript - Jwplayer:提供从主目录播放视频的路径

javascript - 如何从电子邮件 ID 数组中提取名称数组

javascript - 如何在使用 redux 调度操作后更新字段值

javascript - React 组件接收到错误的 prop 值

node.js - 尝试将 firebase-tools 安装到 Mac Big Sur 时出现 EACCES 错误

java - 如何让 Firestore 在后台同步?

android - 将新条目添加到数据库时如何向服务器应用程序发送通知

javascript - 使用 elementFromPoint() 获取特定的子元素