2015-07-21 3 views
0

Я разрабатываю API Rest в узле JS + Mongo DB, обрабатывается промежуточным программным обеспечением Mongoose, в котором один из методов позволяет восстановить содержимое, связанное с определенным пользователем.Как передавать данные в Node JS + Mongo DB REST API?

До сих пор я извлекал все содержимое пользователя, но объем данных начинает расти, и теперь мне нужно как-то передавать данные.

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

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

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

Итак, мой вопрос будет: знаете ли вы, какой лучший способ решить эту проблему?

Заранее спасибо.

ответ

1

Обеспечить возможность читать смещение и предел из запроса, а затем сделать что-то вроде:

db.collection.find().skip(20).limit(10) 

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

+0

Да, но что делать, если новые предметы создаются после первого запроса? –

+0

Они появятся в результирующем наборе, когда условия пропуска и ограничения захватывают самые последние результаты в БД. Порядок определяется, когда они были вставлены в БД, поэтому они появятся там как таковые. – Brant

Смежные вопросы