Функция Cloud Firestore возвращает только один документ? - PullRequest
0 голосов
/ 12 ноября 2018

Я создаю функцию firebase для возврата коллекции сообщений, по какой-то причине облачная функция возвращает только одну запись (документ). Но когда я запускаю эту функцию локально, в терминале я получаю все сообщения. Есть идеи почему?

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const cors = require('cors')({origin: true});
admin.initializeApp();

exports.postWidget = functions.https.onRequest((request, response) => {
cors(request, response, () => {});

var db = admin.firestore(); 

var postsRef = db.collection('posts')
postsRef.where('postStatus', '==', 'published').get()
.then(snapshot => {
    snapshot.forEach(doc => {
        let data = doc.data()
        return response.send(data)
    });
})
.catch(err => {
    console.log('Error getting documents', err);
});

});

1 Ответ

0 голосов
/ 12 ноября 2018

Вы звоните response.send(data) несколько раз в цикле forEach. Это вряд ли будет делать то, что вы хотите, так как вы должны вызывать send() только один раз, а затем весь ответ. Вместо этого вы должны собрать все данные для отправки в один объект и вызвать send() с этим одним объектом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...