Не могу получить список документов из Firebase - PullRequest
0 голосов
/ 12 мая 2019

Я пытаюсь получить список документов, используя административный SDK и API-интерфейс firestore в моих функциях firebase.Я пытался использовать следующее:

import * as admin from 'firebase-admin';
const adminFirestore = admin.firestore();
    adminFirestore.collection('accounts');

        collection.get().then(snapshot => {

            snapshot.forEach(doc => {

                console.log( doc.data() );

            });

        });

Однако, это не будет печатать отдельные документы в этой коллекции.Я также попробовал следующее:

const ref = adminDb.ref('accounts');

ref.once("value")
    .then(function(snapshot) {
        console.log(snapshot);
    });

ref.once('value', (snapshot) => {
  console.log(snapshot.val());

}).then(something => {

    console.log(something);

})

Ничто действительно не печатает документы в сборнике.Все, что я получаю, это ссылка на коллекцию, и не очень понятно, как получить записи в этой коллекции.Есть предложения?

1 Ответ

2 голосов
/ 12 мая 2019

Ты не далеко! Как показано здесь в документе, вам действительно нужно использовать метод get(), но ваша проблема заключается в том, что вы не объявили переменную collection.

Вы должны сделать следующее:

const adminFirestore = admin.firestore();
const collection = adminFirestore.collection('accounts');  

collection.get().then(snapshot => {
    snapshot.forEach(doc => {
       console.log( doc.data() );
    });
});

или другие возможности, такие как:

const adminFirestore = admin.firestore();
adminFirestore.collection('accounts').get().then(snapshot => {...});

или следующим образом:

admin.firestore().collection('accounts').get().then(snapshot => {...});

Обратите внимание, что со второй попытки, выполнив const ref = adminDb.ref('accounts');, вы фактически нацеливаетесь на База данных реального времени , которая отличается от базы данных Cloud Firestore (см. * 1025). * Они оба являются продуктами / услугами, предлагаемыми Firebase, но различаются.

...