【问题标题】:how do I write to firebase outside of a Firestore trigger?如何在 Firestore 触发器之外写入 firebase?
【发布时间】:2020-04-12 10:32:13
【问题描述】:

我正在尝试从 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/ 我错过了什么?

【问题讨论】:

  • 请编辑问题以显示更多详细信息。您应该包括 1) 来自实际执行的所有控制台日志。 2)您如何调用该功能。 3)您所说的数据来源可能对您有帮助。还要记住,HTTP 函数应该向客户端发送响应,而这段代码根本没有这样做,所以它总是会超时。
  • 进行了编辑,谢谢先生。

标签: node.js typescript firebase google-cloud-firestore


【解决方案1】:

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

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

【讨论】:

  • 对不起,我不明白。您的屏幕截图已经显示了某个集合中所有文档的列表。如果您还有其他问题,请单独发布,因为我们无法为您调试。
  • 你是绝对正确的文档参考不正确,我刚刚意识到你是来自 firebase 视频的人!很棒的内容帮了我很多忙。
猜你喜欢
  • 2021-07-11
  • 1970-01-01
  • 2018-12-24
  • 2021-09-11
  • 2020-02-13
  • 2019-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多