Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript在firebase数据库列表中推送数据时保存对象uid_Javascript_Firebase_Firebase Realtime Database_Angularfire - Fatal编程技术网

如何使用javascript在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

我想在Firebase数据库中推送新数据时保存uid。这不适用于身份验证用户,但适用于数据对象

例如,我需要以下对象架构:

"-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');
  });
}