首页 > 解决方案 > 如何在 Firestore 触发器之外写入 firebase?

问题描述

我正在尝试从 http post 触发器写入 firestore,但是我的 doc.data() 一直以未定义的形式返回,即使它显然存在。(见截图)。我确实找到了可能有我正在寻找的答案的地方,但他们想要 50 美元来获得答案的可能性,哈哈。

const admin = require('firebase-admin');
admin.initializeApp({CREDENTIALS});
const db = admin.firestore();
export const helloWorld = functions.https.onRequest(
  (request, response) => {
        var ref = db.collection('Messages').doc("18438557133");
        ref.get().then((doc: any) => {
          console.log(doc);
          console.log(doc.data());
          console.log(doc.exists);
          response.end()
        });
    })

火库截图 安慰

这是我发现可能有用的链接: https ://angularfirebase.com/lessons/dialogflow-with-firebase-cloud-functions/ 我错过了什么?

标签: node.jstypescriptfirebasegoogle-cloud-firestore

解决方案


输出表明该文档实际上并不存在。请注意,这doc.exists是错误的,doc.data()的文档说如果文档不存在,它将返回 undefined 。

Firestore SDK 在这类事情上并没有错。您可能正在查看与您认为您正在获取的文件不同的文件。或者,您可能正在查看与部署该功能的项目不同的项目。在任何情况下,您都必须仔细查看您的部署,以确保一切都如您所愿。


推荐阅读