未捕获的FirebaseError:函数DocumentReference.set()调用了无效的数据。不支持的字段值:未定义

时间:2019-07-29 19:48:07

标签: javascript firebase vue.js google-cloud-firestore vuex

我正在用Vue&Firebase创建一个电子商务。尝试从当前登录用户添加一些购物车信息。奇怪的是,信息在第一时间就完美地保存了下来。当我尝试再次添加一些时。那个有效的方法并显示出此错误。

  

未捕获的FirebaseError:函数DocumentReference.set()调用了无效的数据。不支持的字段值:未定义

所以我必须刷新该页面。然后它再次工作。我不明白问题出在哪里。

注意:如果我尝试添加其他值而不是购物车。然后就可以了。

checkoutLoggedInUser(){
  var db = firebase.firestore();           
  var user = firebase.auth().currentUser;

  db.collection("orders").add({
     user_id:user.uid,
     cart:this.$store.getters.cart                    
  })

  this.$store.commit('emptyCart')                
  this.$router.push({ name: 'Home'})
}

1 个答案:

答案 0 :(得分:0)

该错误消息表示您要写入文档的字段之一是JavaScript中的undefined。通过使用console.log或调试器来检查要传递的值,以找出未定义的值,然后更改代码以传递其他值,或完全省略该字段。

还请记住,错误消息引用了对DocumentReference.set()的调用,但是您显示的代码正在调用DocumentReference.add(),因此错误可能在其他位置。