spring MongoOperation可以获取记录计数但无法将相应的结果提供给同一个Query

时间:2015-04-07 17:12:16

标签: java spring mongodb

我最近使用最新的spring-boot-1.2.3.RELEASE,使用spring-core 4.1.6,spring-data-commons-1.9.2.RELEASE,spring-data-mongodb-1.6 .2.RELEASE。

就我而言,我写的是这样的:

java.util.List<Tag> records = new java.util.ArrayList<Tag>();
records.count = tagRepos.countTags(query);
if (LOG.isDebugEnabled()) LOG.debug("[getTags] count -> {}", records.count);
if(records.count > 0){
  records.records = tagRepos.findTags(query); 
  if (LOG.isDebugEnabled()) LOG.debug("[getTags] records -> {}", records.records);
}
return records;

以上结果打印出来: [getTags] count - &gt; 2 [getTags]记录 - &gt; []

无论Query对象是否包含条件,结果都相同。

我长时间搜索相同的情况,但没有运气。有人遇到过同样的问题吗?我可以弄清楚问题出在MongoTemplate #find方法上,但我无法弄清楚到底是什么问题。任何人都可以帮助我吗?感谢。

1 个答案:

答案 0 :(得分:0)

经过一些调试后,我可以发现问题是在分页上发生的。我将第1页设置为第一页,但我发现spring-data使用索引0作为第一页,导致我总是尝试获取第二页内容,这不是我期望的。所以代码做得很好,这是一个好消息。