【发布时间】:2020-02-15 18:16:04
【问题描述】:
所以我在 Vue 上做了一个简单的应用程序。然后我意识到将它与在线数据库连接起来会很酷,所以我想我会尝试 Firebase(我的后端知识很少,所以我想要一些快速且“简单”的东西)。
问题出在下一行:
firestore () {
return {
items: db.collection('items')
}
}
当我这样做时,位于任何 vue 组件的通常 data() 中的原始数组 items 会被该集合的对象填充。
问题是我只想获取该集合中每个对象的字段(例如,每个待办事项的字段name),而不是整个对象。我看了看,似乎没有简单的方法来做“db.collection('items).name”
所以我想在做一个函数将数据放入一个数组中,然后将其传递给项目:
function cleanRawData(objectToClean){
var cleanedArr = [];
for(let i=0; i<objectToClean.length; i++){
cleanedArr.push(objectToClean[i].name)
}
return cleanedArr
}
data () {
return {
items: [],
}
},
firestore () {
let itemObject = db.collection('items');
return {
items: cleanRawData(itemObject)
}
}
我不知道我是否在那里犯了很多错误,但关键是我想“清理”Firestore 给我的东西。
问题是我什至无法尝试该功能,因为当我 console.log(db.collection('items')) 没有给我一个对象数组而是一个“Firestore 集合”时,但是为什么应用程序会完美呈现数据,就像它正在一个简单的数组?
【问题讨论】:
标签: javascript firebase vue.js google-cloud-firestore vuefire