您好我想更新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'
});
})
使用'child_added'不使用值
,查看底部代码的新编辑代码答案 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标签上,并在阅读其他人努力解读的内容时学习。