如何从api获取响应,而不是504网关超时问题

时间:2019-01-03 09:14:14

标签: mongodb graphql

module.exports.usersPagination = (root, { start, limit }) => {
return new Promise((resolve, reject) => { 
var status = true;
db.User.find({accountType:'user',isDeleted: {$ne: 
{status}}}).count().exec((err, count) => {
db.User.find({accountType:'user',isDeleted: {$ne: 
{status}}}).sort({created:-1}).skip(start).limit(limit).exec((err, user) => 
{
if(user)
{
 user[0].count = count
 err ? reject(err) : resolve(user);       
 }
 })
 });
 });
 };

我已经收集了记录,即80,000,并且我希望在UI中的每个页面显示为20-20,但是我的问题是当我尝试将起始值设置为“ 30000”时  在邮递员中,它显示网关超时错误,请帮助我。 预先感谢enter image description here

1 个答案:

答案 0 :(得分:0)

您收到的错误是由于服务器处理请求和返回响应的时间太长而造成的:

  

504网关超时:服务器正在充当网关或代理,并且没有收到来自上游服务器的及时响应。 (来自维基百科)

实际上,您的代码对数据库执行了两次查询:

  1. 第二次执行确实跳过start行,但是...
  2. ...查询的第一个实例是从数据库中实现整个行集。

只需查询一次就不会实现完整的行集。