如何查询 Express.js 中的特定内容?
Posted
技术标签:
【中文标题】如何查询 Express.js 中的特定内容?【英文标题】:How do I query something specific in Express.js? 【发布时间】:2020-06-29 13:49:57 【问题描述】:我已经解决了排行榜 API 未正确刷新的另一个问题。我现在有另一个快速查询问题,我正在尝试搜索特定的 Discord ID。将 quick.db 用于我的数据库并重用下面的部分 express.js 代码,该代码适用于我的其他项目,以按 ID 搜索不同的禁令证据。
https://website.com/api/levelstats?id=DISCORDID
当我将 Discord ID 放入上述 URL 时。它应该解析 URL 并在 Object 中输出以下结果:
app.get("/api/levelstats", async function(request, response)
response.setHeader('Content-Type', 'application/json');
if (!request.query.id) return response.send('null');
let data;
if (request.query.id !== 'all') data = await db.fetch('60Levelings',
target: request.query.id
);
else data = await db.fetch('60Levelings');
if (!request.query.id !== 'all' && data) data.code = qs.parse(data.code).raw;
response.send(JSON.stringify(data));
)
我尝试了一种不同的方法,即 params 但没有成功。我会很感激任何帮助,谢谢。
【问题讨论】:
那它是怎么不工作的呢?错误、错误结果、意外行为? 嘿,它什么都不显示,或者它只是获取所有的调平数据。 【参考方案1】:你可以试试这个:
app.get("/api/levelstats", async function(request, response)
response.setHeader('Content-Type', 'application/json');
if (!request.query.id) return response.send('null');
let data;
// change !== to != , maybe you can compare value only and ignore type data
if (request.query.id != 'all')
// if request.query.id is not all, change type data request.query.id from string to int
data = await db.fetch('60Levelings',
target: parseInt(request.query.id)
);
data.code = qs.parse(data.code).raw;
response.send(JSON.stringify(data));
else
data = await db.fetch('60Levelings');
【讨论】:
以上是关于如何查询 Express.js 中的特定内容?的主要内容,如果未能解决你的问题,请参考以下文章
如何在node express js上动态更新mysql中的行
如何在 Express.js 应用程序中将猫鼬模型与正确的 MongoDB 集合相关联?
如何从 Bigquery 中的这个嵌套 JSON 类型列中查询特定的内容