使用javascript将数据推送到firebase数据库列表中时如何保存对象uid
Posted
技术标签:
【中文标题】使用javascript将数据推送到firebase数据库列表中时如何保存对象uid【英文标题】:How to save the objects uid when I push the data in firebase database list, using javascript 【发布时间】:2017-06-06 08:29:08 【问题描述】:我想在 Firebase 数据库中推送新数据时保存 uid。这对于 auth 用户是可能的,但对于数据对象是可能的。
例如,我想要这个对象架构:
"-Kdsfdsg555555fdsgfsdgfs" : <------- I want this id
Id : "Kdsfdsg555555fdsgfsdgfs", <--- How to put that inside
name : "A",
time_updated : "6/6/2017"
有什么方法可以获取这个 id 并将其推送到对象中?
我的代码如下:
categories: FirebaseListObservable<any[]>;
this.categories = this.db.list('/categories') as FirebaseListObservable<Category[]>;
addCategory(category: any)
return this.categories.push(category).then( snap =>
this.openSnackBar('New category has been added', 'ok');
).catch(error =>
this.openSnackBar(error.message, 'ok');
);
【问题讨论】:
【参考方案1】: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');
);
但请注意,将项目的密钥也存储在该项目本身内通常是一种反模式。
【讨论】:
以上是关于使用javascript将数据推送到firebase数据库列表中时如何保存对象uid的主要内容,如果未能解决你的问题,请参考以下文章
如何将 GraphQL 中的对象元素推送到 javascript 对象中的嵌套数组中?
将字符串从 JavaEE 后端推送到 Javascript 客户端的任何简单方法?