我有这个尝试更新帖子中的用户用户名:
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/