Разбивка DataGrid с использованием Mongo dB - PullRequest
1 голос
/ 10 января 2012

У меня есть wpf-приложение и mongo db в качестве бэк-энда, если я вызываю запрос к mongo db из wpf-приложения, это дает мне миллион записей, поэтому в настоящее время я использую обычную нумерацию страниц, например, сохранение всех данных из db в таблицу данных и делает нумерацию страниц. Но если в системе меньше памяти, невозможно хранить столько записей, поэтому некоторые специалисты говорят мне, что mongo db обеспечивает нумерацию страниц, что означает, что мы можем вызывать записи напрямую из db, когда пользователь нажимает следующий или предыдущий, поэтому любой поможет мне сделать это.

Ответы [ 2 ]

1 голос
/ 11 января 2012

Существует два вида подкачки:

  1. Через limit и skip , как предложено @milan.
  2. Через запрос диапазона:

    db.items.find({created: {$gt: startDate, $lt: endDate})

Запросы диапазона будут работать быстрее, чем пропускать, поскольку им нет необходимости перемещаться к элементу ' пропуск '.

Просмотрите также связанную ветку .

Для вашего случая, если у вас есть только следующая / предыдущая пейджинг диапазона, хороший вариант.

1 голос
/ 10 января 2012

Вы можете использовать mongodb limit () и skip () для реализации подкачки. Например, чтобы получить третью страницу с размером страницы 10, вы должны использовать этот запрос:

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