![](/img/trans.png)
[英]In node.js and express, how should a client send a large, up to 3k, amount of data to the server?
[英]How we send in response large amount of data over 2 millions records from mongo expres to node js
我有一个帖子 api 表示响应 mongo 收集数据,其中包含超过 200 万条记录我们必须如何发回响应。 前端:jquery ajax 调用后端:express mongo node
出现问题是因为您使用的 memory 比您拥有的多。 发生这种情况是因为您似乎在 memory 中加载了 200 万条记录,然后在发送之前尝试 JSON 它们。
您将需要 stream 将 mongo 记录到响应中,这样您一次将只有一个集合的子集。
cursor.stream().pipe(JSONStream.stringify()).pipe(res);
JSONStream 是一个 package 可以帮助您非常轻松地做到这一点。 Cursor 将是您的 mongo cursor。
在 nodeJS 文档上阅读有关 stream 的更多信息,以了解它是如何工作的。 基本上你会收到一份文件,把它串起来,然后发送出去,然后重复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.