使用Firebase Cloud函数从查询中获取特定文档



我试图从用户集合中获得对定时函数投票最多的用户。我一直在遵循他们文档上的示例,但仍然有问题。任何想法吗?

import * as functions from "firebase-functions";
import * as admin from "firebase-admin";
admin.initializeApp();
exports.testData = functions.pubsub.schedule("30 14 * * *")
.timeZone("America/New_York")
.onRun((context) => {
const test = admin.firestore().collection("users").
orderBy("votes").limit(1);
try {
console.log("document data:", test.data());
} catch (e) {
console.log("Error getting document:", e);
}
return null;
});

您的代码根本没有执行查询。它只是构建一个查询对象,然后调用该对象上不存在的方法data()(可能导致代码崩溃)。我建议查看文档,了解如何使用get()执行查询。它返回一个你必须正确处理的承诺。

return test.get()
.then(snapshot => ...)
.catch(error => ...)

最新更新