推送到列表后获取 firebase 中的路径
Get path for in firebase after pushing onto a list
我正在将一些用户信息保存到 firebase 数据库中。我还想在成功保存后检索它的路径。我可以做得很好,但是,我对返回的数据感到困惑,如下所示。
所以如果我想得到路径,我必须运行
data.path.o
为什么这个格式这么奇怪?我看到 U、Nc、m、路径、Y o。他们应该看起来像那样还是我错过了什么?
我正在使用 angular 2 + angularfire2 和以下代码
saveUserToFirebase(user: User): firebase.database.ThenableReference {
const userRef = this.af.database.list('/users/' + user.company);
return userRef.push(user)
}
this.databaseService.saveUserToFirebase(user)
.then( data => {
console.log('User saved to firebase databse with path', data);
console.log('User saved to firebase databse with path1', data.path);
console.log('User saved to firebase databse with path2', data.path.o);
this.router.navigate(['/login']);
this.isLoading = false;
}, error => {
this.isLoading = false;
console.log("Error asjf0e", error);
})
您从 saveUserToFirebase
返回的是 ThenableReference
,这是对数据库中某个位置的引用。引用不包含实际数据,它只是指向位置。
要从引用中获取完整的 URL,请对其调用 toString
:
this.databaseService.saveUserToFirebase(user)
.then( ref => {
console.log('User saved to firebase database with URL', ref.toString());
this.router.navigate(['/login']);
this.isLoading = false;
}, error => {
this.isLoading = false;
console.log("Error asjf0e", error);
})
要仅获取绝对路径(不带域),您可以使用字符串操作:
var path = ref.toString().substring(ref.root.toString().length);
我正在将一些用户信息保存到 firebase 数据库中。我还想在成功保存后检索它的路径。我可以做得很好,但是,我对返回的数据感到困惑,如下所示。
所以如果我想得到路径,我必须运行
data.path.o
为什么这个格式这么奇怪?我看到 U、Nc、m、路径、Y o。他们应该看起来像那样还是我错过了什么?
我正在使用 angular 2 + angularfire2 和以下代码
saveUserToFirebase(user: User): firebase.database.ThenableReference {
const userRef = this.af.database.list('/users/' + user.company);
return userRef.push(user)
}
this.databaseService.saveUserToFirebase(user)
.then( data => {
console.log('User saved to firebase databse with path', data);
console.log('User saved to firebase databse with path1', data.path);
console.log('User saved to firebase databse with path2', data.path.o);
this.router.navigate(['/login']);
this.isLoading = false;
}, error => {
this.isLoading = false;
console.log("Error asjf0e", error);
})
您从 saveUserToFirebase
返回的是 ThenableReference
,这是对数据库中某个位置的引用。引用不包含实际数据,它只是指向位置。
要从引用中获取完整的 URL,请对其调用 toString
:
this.databaseService.saveUserToFirebase(user)
.then( ref => {
console.log('User saved to firebase database with URL', ref.toString());
this.router.navigate(['/login']);
this.isLoading = false;
}, error => {
this.isLoading = false;
console.log("Error asjf0e", error);
})
要仅获取绝对路径(不带域),您可以使用字符串操作:
var path = ref.toString().substring(ref.root.toString().length);