【问题标题】:Add array to all nodes in query - Firebase JS将数组添加到查询中的所有节点 - Firebase JS
【发布时间】:2019-02-24 00:49:21
【问题描述】:

我得到了这样的结构:

{'-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 的每个项目;但我需要在查询中的每个交互中添加一个当前 user_id 的数组。比如:

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

但不认识那个功能;否则什么都不会发生。

【问题讨论】:

    标签: javascript firebase react-native firebase-realtime-database


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多