Как получить все документы из пожарного магазина - PullRequest
0 голосов
/ 01 мая 2020

Я хочу получить все документы из пожарного магазина. Я пытался сделать это

const firestore = getFirestore()
firestore
  .collection('products')
  .limit(4)
  .get()
  .then((snapshot) => {
    dispatch({ type: 'SHOW', snapshot })
  })
  .catch((err) => {
    dispatch({ type: 'SHOW_ERROR', err })
  })

, тогда я делаю это

case 'SHOW':
      console.log('SHow 4', action.snapshot.docs)

, но в ответ я получаю это введите описание изображения здесь Как я могу получить значения объекты?

1 Ответ

1 голос
/ 01 мая 2020

Из do c:

A QuerySnapshot содержит ноль или более DocumentSnapshot объектов, представляющих результаты запроса.

Поэтому вам необходимо l oop над QuerySnapshot следующим образом:

case 'SHOW':
    action.snapshot.forEach(doc => {
        // doc.data() is never undefined for query doc snapshots
        console.log(doc.id, " => ", doc.data());
    });

или l oop в функции обратного вызова, переданной then() метод:

firestore
  .collection('products')
  .limit(4)
  .get()
  .then((snapshot) => {
    snapshot.forEach(doc => {
        // do something
    });
  })
  .catch((err) => {...});

Вы также можете l oop над JavaScript массивом всех документов в QuerySnapshot, которые вы получаете с action.snapshot.docs.

Например:

for (doc in action.snapshot.docs) {
    console.log(doc.data());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...