node.js - 通过 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);
}
})();
}
解决方案
所以,在仔细检查之后,我发现代码运行得很好。我没有得到我想要的数据的原因是因为路由(位于单独的文件中)没有正确完成。我有 (route/:1) 用于 (route/:id) 而不是 (route/1)。
推荐阅读
- c# - 使用允许排序和允许自动筛选 C# 保护 Excel
- python - Python / MatplotLib / Tkinter 中 PolygonInteractor / LineBuilder 之间的不同行为
- reactjs - React Redux 在页面路由上中断
- java - spring boot中的参数有什么区别?
- ios-simulator - UIImagePickerController 在模拟器中显示一张空白表
- vue.js - VueJS 组件在 props 不变时重新渲染
- docker - Docker 容器不能以非 root 用户运行
- javascript - 在数组中循环值以将它们与另一个数组值进行比较
- api - 自定义访问 connexion (python) 服务的服务器 url 时返回的消息
- c# - Deserialize a Object with json returns an InvalidCastException