我一直在关注本教程https://ilikekillnerds.com/2017/05/convert-firebase-database-snapshotcollection-array-javascript/,以便将firebase快照转换为我的离子应用程序中的数组。这是我的代码:
这是我在firebase中的数据结构:
当我使用我的代码时,这是它给我的错误:
当我认为错误似乎是那行代码时,我可以看到快照中的第一项存储在数组中,然后下一个值是未定义的。虽然如果我只是打印键,它打印就好了:
任何人都知道发生了什么?
答案 0 :(得分:1)
您的数据库中有多个boolean
属性,例如boolLogin
和disponible.
,因此当您使用foreach迭代值并为其添加密钥时,您会收到此错误,因为它是尝试为该项添加密钥,即使该项中的值为boolean
item.key=childSnapshot.key;
尝试使用以下代码
将快照添加到数组中this.consultaTutor=this.afDatabase.object(`profile/SlHGkc3ZK0hHxH2s1sowpgGuJfA3`, {preserveSnapshot: true})
this.consultaTutor.subscribe(info=>{
info.forEach(childSnapshot=>{
var value = childSnapshot.val();
var key = childSnapshot.key;
console.log(childSnapshot.key);
var item = { "key" : key, "value" : value};
this.listaTutores.push(item);
})