javascript - 如何从firestore获取数据到谷歌云功能?

标签 javascript firebase flutter google-cloud-firestore google-cloud-functions

我的index.js文件:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

const Firestore = require('@google-cloud/firestore');
const firestore = new Firestore();

admin.initializeApp();

const db = admin.firestore();

 exports.getName = functions.https.onCall((data, context) => {
    var docRef = db.collection("dogs").doc("{data.id}");
    var getDoc = docRef.get().then(doc => {
        return doc.get("name");
    })
 });

flutter项目中的代码:

HttpsCallable callable = FirebaseFunctions.instance.httpsCallable("getName");
var temp = await callable({"id": "11"});
print(temp.data);

即使存在 ID 为“11”、字段名称为“dogs”的集合中的文档,程序也会打印出 null。我正在尝试从 firestore 获取特定数据并将其返回。

控制台不会显示任何错误,如果我返回任何其他内容,它会正常打印出来。

除了使用 onWrite 等触发器的文档之外,找不到任何有关从 Firestore 获取数据到云函数的文档。

最佳答案

您是否尝试过使云函数异步?

exports.getName = functions.https.onCall(async (data, context) => {
    var doc = await db.collection("dogs").doc("{data.id}").get();
    return doc.data().name;
 });

关于javascript - 如何从firestore获取数据到谷歌云功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66013087/

相关文章:

javascript - Angular 2 - 是否可以将我的路线存储在另一个文件中并将它们导入到 app.ts 文件中(因为随着时间的推移路线会建立起来)?

javascript - 如何从 for 循环中随机选择颜色和形状并将其显示在另一个 div 中?

javascript - getTime函数不起作用,循环并识别打开的选项卡

java - Android:Firebase Cloud Messaging 不发送构建 .apk 的通知

firebase - 错误 :flutter/lib/ui/ui_dart_state. cc(177) 未处理的异常:NoSuchMethodError:在 null 上调用了方法 'insert'

javascript - 使用 Promise.all() Javascript 解析多个 JSON

ios - 如何在 AVQueuePlayer 播放完 Que 中的所有内容后将其设置为开头

firebase - 在哪里可以找到 Firebase 云消息传递的 API key ?

dart - 文本不会在行中溢出

android - 当我使构建版本 flutter 时,http请求停止