Javascript 如何使用firebase更新集合中的多个记录?

Javascript 如何使用firebase更新集合中的多个记录?,javascript,reactjs,firebase,firebase-realtime-database,Javascript,Reactjs,Firebase,Firebase Realtime Database,我有此功能,以便在文章中更新用户用户名: let postsRef = firebase.database().ref('posts/'); postsRef.child('username').update({'username': "josh2"}) 问题是post在一个键下,如下所示: posts | ---- -MOFidfjdUSJFDJ | ----- username: josh (username) |

我有此功能,以便在文章中更新用户用户名:

let postsRef = firebase.database().ref('posts/');
postsRef.child('username').update({'username': "josh2"})
问题是post在一个键下,如下所示:

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"});
  });
});

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