Java 使用Spring数据的Mongodb查询没有在查询中添加限制
因此,我尝试使用带有限制的Spring数据执行mongodb查询。我注意到Spring数据并没有向查询本身添加限制,而是获取所有数据,在Java端对其执行限制,然后返回有限的结果。这是真的还是我的代码有问题Java 使用Spring数据的Mongodb查询没有在查询中添加限制,java,mongodb,spring-data-mongodb,nosql,Java,Mongodb,Spring Data Mongodb,Nosql,因此,我尝试使用带有限制的Spring数据执行mongodb查询。我注意到Spring数据并没有向查询本身添加限制,而是获取所有数据,在Java端对其执行限制,然后返回有限的结果。这是真的还是我的代码有问题 Criteria criteria = queryBuilder.getQuery(searchCriteria); Query query = new Query(criteria); query.limit(500); logger.Deb
Criteria criteria = queryBuilder.getQuery(searchCriteria);
Query query = new Query(criteria);
query.limit(500);
logger.Debug("Query: " + query);
if (query.getQueryObject() != null){
resultSet = (List<T>) _mongoDb.find(query, model.getClass(), _collectionName);
}
我认为这个查询没有500个限制。我错过了什么吗?顺便说一下,查询中的字段是传入的“searchCriteria”的一部分。您的日志语句只是记录查询。在幕后,限制实际上应用于光标,因此您不会看到它使用log语句 尝试(设置配置文件级别2),然后查询system.profile集合,您将看到您的限制实际应用于查询,由配置文件记录中的
ntoreurn
字段指示
Query: Query: { "$or" : [ { "PARTY" : { "$elemMatch" : { "PARTY_ID" : "32135"}}} , { "ABBR_NUM" : "6873"} , { "ANN_ABBR_NUM" : "6873"}]}, Fields: null, Sort: null