#mongodb #pagination #spring-data #spring-data-mongodb
#mongodb #разбивка на страницы #spring-data #spring-data-mongodb
Вопрос:
У меня в mongodb 200 записей, я хочу выполнить базовую операцию поиска вместе с функцией автоматического предложения. Когда я набираю что-либо в текстовом поле поиска, список записей должен отображаться в виде предложения в раскрывающемся списке. Если я выбираю запись из списка предложений, я хочу найти номер страницы этой конкретной записи, на какой странице эта запись появляется, основываясь на этом, я могу получить все 50 записей этой конкретной страницы, и я могу выделить выбранную запись на моей панели данных, где я показываю все записи.
Я столкнулся с проблемой при написании запроса для поиска номера страницы выбранной записи. Я передаю идентификатор выбранной записи из пользовательского интерфейса и на основе этого идентификатора я хочу найти номер страницы этой записи.
Я пытался использовать запрос count, но я не нашел способа подсчитать количество записей до определенного индекса строки в Mongo, поэтому на основе этого я могу вычислить номер страницы.
[
{
"name": "ABC1",
"id": "33d47e5da3a08555dceb17e34"
},
{
"name": "ABC2",
"id": "5f47e5da3a08555dceb17e8f"
},
{
"name": "ABC3",
"id": "5f47e5da3a08555dceb17e99"
},
{
"name": "ABC4",
"id": "5f47e5da3a08555dceb17e77"
},
{
"name": "ABC5",
"id": "5f47e5da3a08555dceb17e66"
},
{
"name": "ABC6",
"id": "5f47e5da3a08555dceb17e55"
},
{
"name": "ABC7",
"id": "5f47e5da3a08555dceb17e78"
},
{
"name": "ABC8",
"id": "5f47e5da3a08555dceb17e68"
},
{
"name": "ABC9",
"id": "5f47e5da3a08555dceb17e55"
}
]
Я хочу знать, на каком номере страницы доступна приведенная ниже запись. Для этого мне нужно общее количество записей до записи ABC5.
{
"name": "ABC5",
"id": "5f47e5da3a08555dceb17e66"
}
Чтобы я мог найти номер страницы следующим образом;
int pageNumber = count/pageLimit;
final int pageLimit = 3;
int pageNumber = count/pageLimit;
Page<T> page = repository.findAll(new PageRequest(pageNumber, pageLimit));
И это должно быть моим окончательным результатом:
[
{
"name": "ABC4",
"id": "5f47e5da3a08555dceb17e77"
},
{
"name": "ABC5",
"id": "5f47e5da3a08555dceb17e66"
},
{
"name": "ABC6",
"id": "5f47e5da3a08555dceb17e55"
},
]
Может кто-нибудь, пожалуйста, помочь в этом?
Заранее спасибо.
Комментарии:
1.
I'm facing issue
можете ли вы уточнить это? Можете ли вы показать нам, что вы уже сделали?2. Я использую запрос критериев для получения количества всех записей до определенной строки. Исходя из этого, я могу вычислить номер страницы для извлечения записей конкретной страницы с помощью Pagable. Но я не могу этого сделать, потому что у нас нет функции автоматического увеличения в отсортированном порядке.