Javascript Firebase云函数获取大型集合中的所有文档不起作用
我正在尝试获取超过50000个文档的集合中的所有文档,其中一些文档标记为isPositive=false,另一些文档标记为isPositive=true。然而,当我运行这个程序时,我得到“函数执行耗时3627毫秒,完成状态:'连接错误'”。代码如下:Javascript Firebase云函数获取大型集合中的所有文档不起作用,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,我正在尝试获取超过50000个文档的集合中的所有文档,其中一些文档标记为isPositive=false,另一些文档标记为isPositive=true。然而,当我运行这个程序时,我得到“函数执行耗时3627毫秒,完成状态:'连接错误'”。代码如下: exports.findActualLikes = (request, response) => { let charactersAlreadyIn = { a: 0, b: 0 }; return ( db .
exports.findActualLikes = (request, response) => {
let charactersAlreadyIn = { a: 0, b: 0 };
return (
db
.collection("likes")
.where("isPositive", "==", true)
.get()
.then((data) => {
return data.forEach((doc) => {
console.log(doc.data().characterId);
if (doc.data().characterId in charactersAlreadyIn) {
charactersAlreadyIn[doc.data().characterId]++;
} else {
charactersAlreadyIn[doc.data().characterId] = 1;
}
});
})
.then(() => {
return response.json(charactersAlreadyIn);
})
.catch((err) => {
console.error(err);
})
);
};
奇怪的是,在.get()
之前添加一个.limit(100)
,使它只适用于前100个文档
为什么会这样?谢谢 您是否可以编辑该问题,以便更详细地分享您在整个执行期间在日志中找到的内容,除了一条错误消息之外?你是如何测试该函数的?@DougStevenson这是Firebase云函数日志中显示的所有内容。@vitooh我只是部署了该函数,并使用api get REQUEST调用它。我复制了该函数,并使用
curl
和gcloud
进行了测试,尽管时间很长,但一切正常,所以我想知道你是如何得出这个错误的。