Как получить ответ от API, но не проблема времени ожидания шлюза 504 - PullRequest
0 голосов
/ 03 января 2019
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, и я хочу отображать 20-20 каждой страницы в пользовательском интерфейсе, но моя проблема заключается в том, когда я пытаюсь задать начальное значение как "30000" в почтальоне это показывает плохое время ожидания шлюза, пожалуйста, помогите мне. заранее спасибо enter image description here

1 Ответ

0 голосов
/ 03 января 2019

Полученная ошибка связана с тем, что серверу требуется слишком много времени для обработки запроса и возврата ответа:

504 Тайм-аут шлюза: сервер работал в качестве шлюза или прокси и не получил своевременного ответа от вышестоящего сервера. (из Википедии)

Действительно, ваш код выполняет запрос к базе данных дважды:

  1. верно, что второе выполнение пропускает start строк, но ...
  2. ... первый экземпляр запроса материализует весь набор строк из базы данных.

Просто запросите его один раз и не материализуйте полный набор строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...