将数组添加到查询中的所有节点 - Firebase JS



我得到了这样的结构:

{'-LH88EMN8Q0Mh5ZxbXyx':{
u_id: 101,
g_id: 6064,
members:[101, 102]
last_msg:'testing'
},
'-eyJ0eXAiOiJKV1QiLC':{
u_id: 102,
g_id: 6065,
members:[101, 102],
last_msg:'testing'
},
etc
}

我正在使用查询来恢复具有组 ID 的每个项目; 但我需要在查询中的每个交互中添加一个具有 de 当前user_id的数组。 像这样:

firebase.database().ref('msgs').orderByChild('g_id').equalTo(gID) .update({ dBy: [user_id] });

但是不承认这个功能;或者什么都不会发生。

Firebase 实时数据库只有在知道要写入的确切位置时才能写入数据。它不支持您可能从 SQL 中知道的更新查询之类的内容。

这意味着您需要将侦听器附加到查询,并从那里更新每个单独的结果。

它看起来像这样:

firebase.database().ref('msgs').orderByChild('g_id').equalTo(gID)
once("value", function(snapshot) {
snapshot.forEach(function(child) {
child.ref.update({ dBy: [user_id] });
});
});

最新更新