Гость
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / [MongoDB] Постраничный вывод / 9 сообщений из 9, страница 1 из 1
18.02.2021, 10:09
    #40046535
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[MongoDB] Постраничный вывод
Есть некий список документов...

Код: 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
23.02.2021, 15:21
    #40048157
DSKalugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[MongoDB] Постраничный вывод
нужно использовать skip() для пропуска документов и limit() для ограничения выборки

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


При М=5 элементов, это будет третья страница
...
Рейтинг: 0 / 0
24.02.2021, 10:26
    #40048299
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[MongoDB] Постраничный вывод
DSKalugin , спасибо.
Я вот только прочитал про эти методы (skip и limit). Странно что те, кто делал ПО нашей конторе, их не использовали.
...
Рейтинг: 0 / 0
24.02.2021, 14:05
    #40048372
bubuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[MongoDB] Постраничный вывод
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
24.02.2021, 14:35
    #40048394
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[MongoDB] Постраничный вывод
krvsa
Странно что те, кто делал ПО нашей конторе, их не использовали.

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

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

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

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

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

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

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

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

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

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


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