Справиться с обратным давлением мангусты при получении документов
Я использую нагорье, чтобы справиться с давлением. Мой код:
const pipeline = [{
$match: { 'published': true, status: 'Approved' }
}];
const cursor = UserModel.aggregate(pipeline)
.cursor().exec();
// iterating over each hospitality one by one
highland(cursor)
.map((doc) => {
// some code
return doc;
})
.map((doc) => {
// some code
return doc;
})
.map((doc) => {
// some code
return doc;
})
.errors(function (err) {
winston.error('error', err);
})
.done(() => {
winston.info('JOB: done');
});
Я хочу, чтобы один документ извлекался, а затем обрабатывал потоки карты один за другим.
Я не уверен, справится ли это с противодавлением, потому что горный док сказал:
Пожалуйста, см. Раздел "Противодавление" в документации по горной местности.
Некоторые потоки (например, основанные на событиях) не могут быть приостановлены. В этих случаях данные буферизуются до тех пор, пока потребитель не будет готов обработать их.
Пожалуйста, предложите любой другой способ, если это не справляется с противодавлением!