Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Express.js中查询特定内容?_Javascript_Arrays_Json_Express_Discord.js - Fatal编程技术网

Javascript 如何在Express.js中查询特定内容?

Javascript 如何在Express.js中查询特定内容?,javascript,arrays,json,express,discord.js,Javascript,Arrays,Json,Express,Discord.js,我已经解决了排行榜API未正确刷新的另一个问题。我现在在express查询中遇到了另一个问题,我正在尝试搜索一个特定的Discord ID。使用quick.db作为我的数据库,并重用下面的express.js代码的一部分,该代码在我的另一个项目中用于按ID搜索不同的Ban证据 https://website.com/api/levelstats?id=DISCORDID 当我将Discord ID放入上面的URL时。它应该解析URL并在对象中输出以下结果: app.get(“/api/leve

我已经解决了排行榜API未正确刷新的另一个问题。我现在在express查询中遇到了另一个问题,我正在尝试搜索一个特定的Discord ID。使用quick.db作为我的数据库,并重用下面的express.js代码的一部分,该代码在我的另一个项目中用于按ID搜索不同的Ban证据

https://website.com/api/levelstats?id=DISCORDID

当我将Discord ID放入上面的URL时。它应该解析URL并在对象中输出以下结果:

app.get(“/api/levelstats”),异步函数(请求、响应){
setHeader('Content-Type','application/json');
if(!request.query.id)返回response.send('null');
让数据;
如果(request.query.id!=='all')数据=等待db.fetch('60Levelings'){
目标:request.query.id
});
else data=await db.fetch('60Levelings');
如果(!request.query.id!='all'&&data)data.code=qs.parse(data.code).raw;
send(JSON.stringify(data));
})
我尝试了一种不同的方法,但没有成功。非常感谢您的帮助,谢谢。

您可以尝试以下方法:

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');
  }

那么它怎么不起作用呢?错误,错误的结果,意外的行为?嘿,这里,它什么也不显示,或者它只是获取所有的水准测量数据。