使用动态密钥名称保存firebase

时间:2018-04-26 12:47:16

标签: javascript firebase firebase-realtime-database vue.js

我正在尝试在我的数据库中插入用户选择的月份。

saveInBdd (){
  this.errors = [];

  const user = firebase.auth().currentUser;
  user.updateProfile({
    displayName: this.firstname,
  }).then(()=>{
    this.saveUserToUsersRef(user)
  }, error => {
    this.errors.push(error.message)
  })
},
saveUserToUsersRef(user){
  return this.usersRef.child(user.uid).update({
    tab1: { this.months[0].selectedOption : "test"}
  })
},

此代码将此错误返回给我:

enter image description here

1 个答案:

答案 0 :(得分:1)

您使用的符号中的JSON对象的属性名称必须是文字。要将变量用作属性的名称,请使用[]表示法:

saveUserToUsersRef(user){
  var updates = {};
  updates[this.months[0].selectedOption] = "test";
  return this.usersRef.child(user.uid).update(updates))
},