powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / [MongoDB] Постраничный вывод
9 сообщений из 9, страница 1 из 1
[MongoDB] Постраничный вывод
    #40046535
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некий список документов...

Код: javascript
1.
2.
3.
4.
5.
6.
{ "_id" : "w1", "name" : "nm_1" }
{ "_id" : "w2", "name" : "nm_2" }
{ "_id" : "w3", "name" : "nm_3" }
{ "_id" : "w4", "name" : "nm_4" }
...
{ "_id" : "wN", "name" : "nm_N" }



Можно сделать "постраничный" (по M элементов) вывод этого списка?
Т.е. иметь возможность показать, заранее известную, страничку этого списка...
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048157
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно использовать skip() для пропуска документов и limit() для ограничения выборки

Код: javascript
1.
db.userdetails.find().skip(10).limit(5)


При М=5 элементов, это будет третья страница
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048299
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DSKalugin , спасибо.
Я вот только прочитал про эти методы (skip и limit). Странно что те, кто делал ПО нашей конторе, их не использовали.
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048372
bubuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

на маленьких объемах это подойдет. но лучше понимать про подводные камни:
https://www.codementor.io/@arpitbhayani/why-mongodb-s-cursor-skip-is-slow-90j5f3fst


другой вариант - сразу складывать документы в кучки. но там сортировка и фильтрация будут предопределены:
https://www.mongodb.com/blog/post/paging-with-the-bucket-pattern--part-1
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048394
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
Странно что те, кто делал ПО нашей конторе, их не использовали.

Вероятно, они были опытные и понимали,что задача "показать определённую страничку" практического смысла не имеет.
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048409
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Вероятно, они были опытные и понимали,что задача "показать определённую страничку" практического смысла не имеет.

Как раз наоборот...
В ПО достаточно много страниц, которые нужно листать. При выборе строки - редактировать. А вот возврат после редактирования всегда (!) только на первую страницу.
Т.о. "отработать" списки достаточно проблематично, если они на несколько страниц.

Отсюда и был мой вопрос.
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048412
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubuk
на маленьких объемах это подойдет. но лучше понимать про подводные камни

Я читал в книжке про советы, использовать те методы с неким, "ограничивающим" количество, запросом.

Но в наших таблицах предусмотрены варианты простого листания "всех данных". Хотя есть и "фильтры" по неким ключам...
А есть таблицы только (!) с листанием всех данных...
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048697
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
В ПО достаточно много страниц, которые нужно листать.

Если в ПО страницы нужно листать, то это плохо спроектированное ПО, тратящее время оператора зря.

krvsa
Т.о. "отработать" списки достаточно проблематично, если они на несколько страниц.

И отсюда вытекает естественное решение проблемы: не нужно делать списки из страниц. Когда все записи в одном непрерывном списке - всё упрощается до тривиальности.

PS: Предвидя нытьё "это невозможно, слишком много данных, браузер не в состоянии отобразить": первый том "Войны и Мира" отображается одной непрерывной страницей и листается без проблем.
...
Рейтинг: 0 / 0
[MongoDB] Постраничный вывод
    #40048717
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Если в ПО страницы нужно листать, то это плохо спроектированное ПО, тратящее время оператора зря.

Тут что не пиши, разницы для нас ни какой... ПО уже написано, деньги уплачены.
Мне досталось то, что есть.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / [MongoDB] Постраничный вывод
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (11): Анонимы (8), Google Bot, Yandex Bot 1 мин., Bing Bot 2 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]