Извлечение большого количества данных в nodejs - PullRequest
0 голосов
/ 24 сентября 2019

Я делаю веб-приложение, которое имеет большой объем данных для обработки.я вставил около 10 миллионов данных в базу данных mongoDb.Теперь, когда я получаю все данные одновременно через ajax, запрос занимает слишком много времени для извлечения данных.Так что же делать, чтобы данные быстро загружались?

router.get('/ekcroredata', async (req, res)=>{
const data = await gameBids.find();
res.json(data);});

enter image description here

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Вы не должны отправлять все данные клиенту за один раз.Время ответа будет зависеть от размера данных.вместо этого вы должны реализовать нумерацию страниц.Получить записи в связке фиксированного размера, неоднократно вызывая один и тот же API.

router.get('/ekcroredata', async (req, res)=>{
  let { page_number, page_size } = req.query; // keep increasing the page_number in the successive call by client
  const data = await gameBids.find().skip((page_number)*page_size).limit(page_size)
  res.json(data);
});
0 голосов
/ 24 сентября 2019

На самом деле узел js не может обрабатывать большие данные, поэтому у вас есть два варианта

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