Firebase更新数据无效

时间:2017-02-22 12:47:07

标签: angularjs firebase firebase-realtime-database

您好我想更新firebase数据,但是当我更新它时插入新数据而不是更新我设置的特定数据,这是等于'hoo'的姓氏

import pypyodbc
connect = pypyodbc.connect('Driver={Sql Server Native Client 11.0};Server=.;Database=SAMPLE;Trusted_Connection=yes;')
cursor = connect.cursor()
print('Trying to insert!')
cursor.execute("insert into [SAMPLE].[dbo].[Register] VALUES ('behzad','razzaqi')")
connect.commit()
print('Insert Finish!')
connect.close()

编辑:

fb.orderByChild("Lastname").equalTo('hoo').once("value", function(snapshot){
  console.log(snapshot.ref());
  console.log(snapshot.val());
  // var snapref = snapshot.ref();
  snapshot.ref().update({
    FirstName: 'yoyo1'  
  });
})

enter image description here

使用'child_added'不使用

,查看底部代码的新编辑代码

1 个答案:

答案 0 :(得分:1)

对Firebase数据库执行查询时,可能会有多个结果。因此快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。

这意味着当您致电snapshot.ref()时,您会获得对您所选择的孩子所查询的位置(fb的引用。

解决方案是循环结果:

fb.orderByChild("Lastname").equalTo('hoo').once("child_added", function(snapshot){
    snapshot.forEach(function(child) {
        child.ref().update({
            FirstName: 'yoyo1'      
        });  
    }
})

顺便说一句,我很确定在过去的几天里我给出了完全相同的答案。所以我强烈建议潜伏在firebase-database标签上,并在阅读其他人努力解读的内容时学习。