如何解决使用Spring数据条件查找到Mongodb中特定行索引之前的记录数,并使用分页查询
我的mongodb中有200条记录,我想执行基本搜索操作以及自动建议功能。当我在搜索文本框中键入内容时,记录列表应在下拉列表中显示为建议。如果我从建议列表中选择记录,那么我想找到该记录所在页面的特定记录的页码,这样我就可以提取该特定页面的所有50条记录,并可以在其中突出显示所选记录。显示所有记录的数据面板。
我在写查询以查找所选记录的页码时遇到问题,我正在通过UI传递所选记录的ID,并基于该ID,我想查找该记录的页码。
我尝试使用计数查询,但是直到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"
}
]
我想知道以下记录在哪个pageNumber上可用。为此,我需要一个总记录数,直到ABC5记录。
{
"name": "ABC5","id": "5f47e5da3a08555dceb17e66"
}
以便我可以找到这样的pageNumber;
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"
},]
有人可以帮忙吗?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。