Как мы отправляем в ответ большой объем данных более 2 миллионов записей с понедельника go до node js - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть post api в express, который отвечает на коллекцию данных mon go, которая содержит более 2 миллионов записей о том, как мы должны отсылать обратно в ответ. внешний интерфейс: jquery ajax обратный вызов: express пн go узел

1 Ответ

0 голосов
/ 29 апреля 2020

Проблема возникает потому, что вы используете больше памяти, чем у вас есть. Это происходит потому, что вы, кажется, загружаете 2 миллиона записей в память, а затем пытаетесь JSON их перед отправкой.

Вам нужно будет направить записи mon go в ответ, таким образом, вы получите только подмножество коллекции за один раз.

cursor.stream().pipe(JSONStream.stringify()).pipe(res);

JSONStream - это пакет, который может помочь вам сделать это очень легко. Курсор будет вашим go курсором.

Узнайте больше о потоке в документах nodeJS, чтобы понять, как он работает. В основном вы получаете один документ, переводите его в строку, отправляете, вводите и повторяете.

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