无法使用我的Firebase功能从Firestore读取数据

时间:2019-05-14 15:48:11

标签: 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时,会得到一个空白的页面。也没有明显的错误。我到底在做什么错?

1 个答案:

答案 0 :(得分:1)

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

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

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