Почему Firestore возвращает ссылку на коллекцию, а моя программа обрабатывает ее как массив?

Почему 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», однако почему тогда приложение прекрасно отрисовывает данные, как будто это простой массив?

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector