非常感谢您可以为我提供以下帮助:
我有一个Ionic 2项目,需要了解如何在Firebase数据库中使用自定义键保存对象。
实际上,在Firebase中,我有:
+ blabla
+ blabla
- users :
- UIDXXX : {
+ last_audio: {}
+ sessions : []
}
好吧,我需要将用户的uid保存为键,而不是字符串UIDXXX,例如:
- users :
- 232ssadas223ss2 : {
+ last_audio: {}
+ sessions : []
}
- das112dasd21dsd : {
+ last_audio: {}
+ sessions : []
}
.
.
.
这实际上是我检索数据的方式:
this.auth.subscribe((user) => {
if (user) {
let firebaseObservable = this.angularFire.database.object(`/users`);
firebaseObservable.update({
useruid : {
last_audio: this.audio,
sessions: [
"Hoy",
"Ayer"
]
}
});
}
});
但是,显然我将“ userid”一词保存为键,而不是user.uid,在Firebase中,我得到了:
users :
- useruid : {
+ last_audio: {}
+ sessions : []
}
提前非常感谢您。
您可以使用所谓的括号符号将数据设置到对象中:
let firebaseObservable = this.angularFire.database.object(`/users`);
var updates = {};
updates[userid] = {
last_audio: this.audio,
sessions: {
"Hoy": true,
"Ayer": true
}
};
firebaseObservable.update(updates);
我也将sessions
数组更改为集合,因为它可能更好地反映了您存储的内容。有关数组与集合的更多信息,请参见此处的答案:Firebase查询,如果child的child包含值
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句