在Node.js中获取大量数据

时间:2019-09-24 11:50:44

标签: node.js mongodb express mongoose

我正在制作一个网络应用程序,其中要处理大量数据。我已经在mongoDb数据库中插入了大约一千万个数据。现在,当我通过ajax同时获取所有数据时,请求将花费太多时间来获取数据。那么如何使数据快速加载?

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

enter image description here

2 个答案:

答案 0 :(得分:1)

您不应一次性将所有数据发送到客户端。响应时间将取决于数据的大小。相反,您应该实现分页。通过重复调用相同的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);
});

答案 1 :(得分:-2)

实际上,节点js无法处理大数据,因此您有两种选择

  1. 使用分页
  2. 使用python进行与大数据相关的操作