繁体   English   中英

我们如何将超过 200 万条记录的大量数据从 mongo 表达发送到节点 js

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM