【问题标题】:Cloud Firestore Function returns only one document?Cloud Firestore 函数只返回一个文档?
【发布时间】:2018-11-12 06:09:23
【问题描述】:

我创建了一个 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);
});

});

【问题讨论】:

    标签: firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    您在 forEach 循环中多次调用 response.send(data)。这不太可能做你想做的事,因为你应该只打电话给send() 一次,然后整个回复。相反,您应该收集所有数据以在单个对象中发送,并使用该对象调用 send()

    【讨论】:

    • 谢谢道格,我相信这就是原因。如果我没有看到这个,那么今天该结束了:)
    猜你喜欢
    • 2021-10-09
    • 2021-05-27
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 2021-05-26
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多