Использование потока для запроса Mon goose действительно того стоит? - PullRequest
0 голосов
/ 15 апреля 2020

Если у меня есть такой запрос:

//sample 1 conventional querying
const response =  await Events.find({data: {$gt: new Date('2019-12-01')}})
res.json(response)

//sample 2 using stream
Events.find({data: {$gt: new Date('2019-12-01')}})
    .cursor()
    .pipe(JSONStream.stringify())
    .pipe(res.type('json'))

Когда мне следует использовать каждый из них? А в чем преимущества использования потоковой передачи?

1 Ответ

1 голос
/ 15 апреля 2020

Самое простое объяснение: -

Если у вас мало данных, возвращенных из запроса поиска - вы можете загрузить их в память и использовать.

Когда у вас большие данные - вам следует используйте потоки, чтобы вам не нужно было хранить полные данные в памяти, что может привести к исключению nodejs из памяти. Вы могли бы переопределить это, но не очень хорошая идея.

Надеюсь, это прояснится.

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