我想在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');
});
}
答案 0 :(得分:-1)
有两种方法可以使用Firebase的var data = [{
BuildingID: "56", FloorId: "65", volume: [{
one: 12,
two: 15,
three: 12
}]
}];
var MainInfo=[];
for (var i = 0; i < data.length; i++) {
var obj = {};
obj.BuildingID = data[i].BuildingID;
obj.FloorId = data[i].FloorId;
for(var j in data[i].volume[0]){
obj[j]= data[i].volume[0][j];
}
MainInfo.push(obj);
}
console.log(MainInfo);
方法:
您可以使用第二种方式使用push()
获取新位置或其密钥:
push()
但请注意,它通常也是一种反模式,用于将项目的关键字存储在该项目中。