如何使用javascript在firebase数据库列表中推送数据时保存对象uid
我想在Firebase数据库中推送新数据时保存uid。这不适用于身份验证用户,但适用于数据对象 例如,我需要以下对象架构:如何使用javascript在firebase数据库列表中推送数据时保存对象uid,javascript,firebase,firebase-realtime-database,angularfire,Javascript,Firebase,Firebase Realtime Database,Angularfire,我想在Firebase数据库中推送新数据时保存uid。这不适用于身份验证用户,但适用于数据对象 例如,我需要以下对象架构: "-Kdsfdsg555555fdsgfsdgfs" : { <------- I want this id Id : "Kdsfdsg555555fdsgfsdgfs", <--- How to put that inside name : "A", time_updated : "6/6/2017" } “-kdsfdsg5555fds
"-Kdsfdsg555555fdsgfsdgfs" : { <------- I want this id
Id : "Kdsfdsg555555fdsgfsdgfs", <--- How to put that inside
name : "A",
time_updated : "6/6/2017"
}
“-kdsfdsg5555fdsgfsdgfs”:{{
这个.openSnackBar(error.message'ok');
});
}
有两种方法可以使用Firebase的push()
方法:
- 通过传入参数,它将生成一个新位置并将参数存储在那里
- 通过不传递任何参数,它只会生成一个新位置
push()
来获取新位置或其密钥:
addCategory(category: any) {
var newRef = this.categories.push();
category.Id = newRef.key;
newRef.set(category).then( snap => {
this.openSnackBar('New category has been added', 'ok');
}).catch(error => {
this.openSnackBar(error.message, 'ok');
});
}
但请注意,将项的键存储在该项本身中通常也是一种反模式
addCategory(category: any) {
var newRef = this.categories.push();
category.Id = newRef.key;
newRef.set(category).then( snap => {
this.openSnackBar('New category has been added', 'ok');
}).catch(error => {
this.openSnackBar(error.message, 'ok');
});
}