Если вас интересуют только первые (или последние, как в случае сортировки с _id: -1
) 15 документов, тогда да, установка ограничения для запроса - очень хорошая идея. Ограничение на стороне клиента, как в первом примере, означает, что база данных отправляет каждый отдельный документ клиенту, а затем клиент игнорирует все, кроме последних 15.
Однако синтаксис Mongoose для определения предела отличается от синтаксиса оболочки Mongo, вот что, я думаю, вы хотите:
Item.find().sort([['_id','descending']]).limit(15).each(function(doc) {
client.send(JSON.stringify(doc));
});
Если я не ошибаюсь, вы можете связать несколько действий в запросе Mongoose, а затем позвонить each
, чтобы отправить его и получить каждый документ результата, переданный вашему обратному вызову.