MongoTemplate匹配全部文档的等效实现方法咨询
在MongoTemplate中匹配所有文档的最优实现方式
你可以用以下几种更简洁的方式实现和Mongosh中空对象{}等效的全文档查询:
- 使用空Query对象
直接创建无任何条件的Query实例,这就是MongoDB查询语句{}的Java对应实现:
Query query = new Query(); List<Hierarchy> hierarchies = mongoTemplate.find(query, Hierarchy.class);
- 直接调用findAll方法
MongoTemplate提供了专门的findAll方法,内部会自动生成空查询条件,代码更简洁:
List<Hierarchy> hierarchies = mongoTemplate.findAll(Hierarchy.class);
这两种方式都比你之前用Criteria.where("_id").exists(true)的方案更优:
- 完全对应Mongosh的空查询逻辑,不需要额外的字段存在性检查
- 代码更简洁直观,性能也更优(避免了不必要的查询条件解析)
内容的提问来源于stack exchange,提问作者Leos Literak
相关产品推荐
相关产品推荐

