![](/img/trans.png)
[英]How to add a property to ALL objects in an array (data) using Vue.js?
[英]How to store an array of data in an array of objects in firestore using vue.js
saveUsernames(){
let user = firebase.auth().currentUser
db.collection('users').where('user_id',"==", user.uid).get().then(snapshot => {
snapshot.forEach((doc) =>{
for(i=0; i<=this.usernames.length; i++){
db.collection('users').doc(doc.id).update({
name: this.name,
bio: this.bio,
usernamelist:[{Id:i, username: this.usernames[i]}]
})}
})
}).then(() =>{
this.$router.push({ name: "Profile" })
})
我有一组存储在 usernames[] 中的用户名,我想将它们存储到我的用户文档中。 该索引对应于 Firestore 文档 'users' 中元素 'usernamelist' 中的每个元素的 Id,该元素位于相应的 Id 值处名为 'username' 的元素内。 我将如何循环遍历数据数组中的每个元素并更新 firestore 中的相应元素? 我收到一条错误消息,提示“i”未定义。
欢迎加入堆栈!
我不确定您要做什么,但是可以肯定的是,如果您使用索引遍历数组,则应该使用<
而不是<=
像:
for(i=0; i<this.usernames.length; i++)
否则,在最后一次迭代中,您超出了索引范围。 这是因为索引从0
开始,所以最后一个索引是数组长度 - 1。
第二件事是我不确定循环内的这个update
是否会起作用,因为这是异步的 function( 参考)。 我建议创建整个字段,而不是在一个update
语句中更新它。
我希望它会有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.