javascript - 无法使用我的 Firebase 函数从 Firestore 读取数据

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

我编写了一个简单的函数来学习如何从我的 Firestore 读取数据。 index.js 文件如下所示:

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

const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

const express = require('express');
const cors = require('cors');
const app = express();

// Automatically allow cross-origin requests
app.use(cors({ origin: true }));

// GET
app.get('/', (request, response) => {
    var db = admin.firestore();
    db.collection('users').doc('vUuMvkP03J2hMryAm9ok').get().then(snapshot => {
        response.send(snapshot.username);
    }).catch(reason => {
        response.send(reason);
    });
});

exports.myFunction = functions.https.onRequest(app);

GET 请求中,我尝试读取存储在 users 集合下的文档,并发回 username 字段。我的数据库如下所示:

enter image description here

当我访问函数的 URL 时,我看到一个空页面,上面什么也没有。也没有明显的错误。我到底做错了什么?

最佳答案

firestore 响应的数据位于 snapshot.data() 如果将其添加到回调中,应该会很好

response.send(snapshot.data().username);  

快照上还有其他属性,例如 snapshot.id,在示例中将为您提供 vUuMvkP03J2hMryAm9ok

关于javascript - 无法使用我的 Firebase 函数从 Firestore 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56134257/

相关文章:

javascript - 为什么 document.createTextNode() 不允许 setAttribute()?

javascript - 如何过滤数组?

ios - (Firebase) 从返回的完成处理程序函数中为全局变量赋值

java - 同步 Java OnComplete 方法

flutter - 为什么在 Flutter 和 Firestore 中使用 foreach 方法后得到 null?

typescript - Firebase 通过函数 : "7 PERMISSION_DENIED: Missing or insufficient permissions" 写入 Firestore 时出错

javascript - Ruby on Rails 嵌入按钮

javascript - 使用 Node.js 将 json 文件写入 Firebase?

firebase - 如何在Firestore -Flutter中将所有文档从一个集合复制到另一个?

javascript - 如何在按钮单击事件的隐藏字段中存储逗号分隔的选中复选框值?