Почему Firestore возвращает ссылку на коллекцию, а моя программа рассматривает ее как массив?
Поэтому я сделал простое приложение на Vue. Затем я понял, что было бы здорово подключить его к онлайн-базе данных, поэтому я решил попробовать Firebase (у меня очень мало знаний о бэкэнде, поэтому я хотел что-то быстрое и «простое»).
Проблема в следующей строке:
firestore () { return { items: db.collection('items') } }
Когда я это делаю, мои исходные items
массива items
которые находятся в обычных data()
любого компонента vue, заполняются объектами этой коллекции.
Проблема в том, что я хочу получить только поле каждого объекта в этой коллекции (например, name
поля каждого элемента задачи), а не весь объект. Я посмотрел, и кажется, что нет простого способа сделать «db.collection (‘items) .name»
Поэтому я подумал о создании функции, чтобы получить эти данные в массив и затем передать их в элементах
function cleanRawData(objectToClean){ var cleanedArr = []; for(let i=0; i{amp}lt;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'))
не console.log(db.collection('items'))
мне массив объектов, а представляет собой «Firestore Collection», однако почему тогда приложение прекрасно отрисовывает данные, как будто это простой массив?