错误:Reference.update失败:第一个参数包含无效密钥

时间:2018-03-09 17:46:23

标签: javascript firebase vue.js

我在firebase上遇到此错误(使用vue.js):

第一次一切顺利,我可以根据需要多次运行以下功能。

addSpace: function (newSpace) { 
  let userId = firebaseApp.auth().currentUser.uid;  
  const key = spacesRef.push().key;  // creating the key once
  console.log(key); 
  spacesRef.child(key).update(this.newSpace); }

但是,当我运行另一个函数时(参见下面的函数),addSpace函数会抛出一个错误:

addDept: function(space, dept, newDept, event) {
  this.newSpace = space;//get current space
  const deptKey = deptsRef.push().key; // create Dept Key
  let spaceKey = space['.key']; 
  console.log(spaceKey)
  var deptNode = spacesRef.child(spaceKey).child("hasDepts"); 
  deptNode.child(deptKey).set(true);
  deptsRef.child(deptKey).set(this.newDept);
  deptsRef.child(deptKey).child("spaceName").set(space.name);
  deptsRef.child(deptKey).child("spaceKey").set(spaceKey);
  this.newDept.name = '';
  this.newDept.comments = '';
  this.newSpaceKey= '';
  },

这里到底发生了什么?

Error: Reference.update failed: First argument contains an invalid key 
 (.key) in path /.key. Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"

我有控制台。记录所有参数,他们看起来很健全。我也尝试将参数字符串化,但没有成功。 感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

我只需要      将空格['.key']; 删除到addDept函数

谢谢@skribe