首页 > 解决方案 > 通过 Express API 从 Cloud Firestore 读取数据

问题描述

我正在尝试从我的 firestore 数据库集合中读取四个不同的文档。下面的代码适用于第一个功能。但是,其他端点从第一个函数返回相同的数据,而不是它们自己的数据。当我删除第一个函数时,第二个函数可以工作,但它会遇到同样的问题:其余函数返回与第二个函数相同的数据。请帮忙!

const db = require('../config/database');

module.exports = {
    major,
    specials,
    numbersPunctuation,
    extensions,
};


function major(req, res) {
    (async () => {
        try {
            const document = db.collection('Glyphs').doc('1');
            let item = await document.get();
            let response = item.data();
            return res.status(200).send(response);
        } catch (error) {
            console.log(error);
            return res.status(500).send(error);
        }
    })();
}

function specials(req, res) {
    (async () => {
        try {
            const document = db.collection('Glyphs').doc('2');
            let item = await document.get();
            let response = item.data();
            return res.status(200).send(response);
        } catch (error) {
            console.log(error);
            return res.status(500).send(error);
        }
    })();
}

function numbersPunctuation(req, res) {
    (async () => {
        try {
            const document = db.collection('Glyphs').doc('3');
            let item = await document.get();
            let response = item.data();
            return res.status(200).send(response);
        } catch (error) {
            console.log(error);
            return res.status(500).send(error);
        }
    })();
}

function extensions(req, res) {
    (async () => {
        try {
            const document = db.collection('Glyphs').doc('4');
            let item = await document.get();
            let response = item.data();
            return res.status(200).send(response);
        } catch (error) {
            console.log(error);
            return res.status(500).send(error);
        }
    })();
}

标签: node.jsexpressgoogle-cloud-firestore

解决方案


所以,在仔细检查之后,我发现代码运行得很好。我没有得到我想要的数据的原因是因为路由(位于单独的文件中)没有正确完成。我有 (route/:1) 用于 (route/:id) 而不是 (route/1)。


推荐阅读