簡體   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