Spring Boot Mongo Db在查询中查找全部
我正在使用maven项目和spring数据mongodb。我创建了一个模型类我的模型类是Spring Boot Mongo Db在查询中查找全部,spring,mongodb,spring-boot,Spring,Mongodb,Spring Boot,我正在使用maven项目和spring数据mongodb。我创建了一个模型类我的模型类是 @Id private String _id; private String message; private String possibleAnswer; private boolean resolved; private String percenteageMatch; //Getters and Setters 然后我创建了一个带有 public interface ContextRepos
@Id
private String _id;
private String message;
private String possibleAnswer;
private boolean resolved;
private String percenteageMatch;
//Getters and Setters
然后我创建了一个带有
public interface ContextRepository extends MongoRepository<ContextUnknown, String>{}
这不起作用,因为findall没有将查询作为参数,我尝试了与BasicQuery相同的方法,但仍然存在相同的问题
我想得到所有未解析的元素,是否有任何东西需要更改,以便根据查询参数得到所有元素
提前谢谢
非常感谢您提供的任何帮助如果您想使用Query,您必须将其与MongoTemplate一起使用。但是因为查询很简单,所以可以使用spring数据轻松地构建它。在存储库界面中添加这些方法之一
List<ContextUnknown> findByResolvedIsFalse();
List<ContextUnknown> findByResolved(boolean resolved);
检查以了解有关使用spring存储库创建查询的更多信息。如果您无法通过spring存储库构建查询,或者您需要一些攻击等,您可以将MongoTemplate和spring存储库组合在一个界面中。您可以查看以了解如何执行此操作。在您正在使用的课程中,请参见下面的代码
Query query = new Query();
query.addCriteria(Criteria.where("resolved").is(false));
return contextRepository.findAll(query)
您需要MongoTemplate来执行查询
你喜欢这样吗
@Autowired
private MongoTemplate mongoTemplate;
List<ContextUnknown> result = mongoTemplate.find(query, ContextUnknown.class);
@Autowired
private MongoTemplate mongoTemplate;
List<ContextUnknown> result = mongoTemplate.find(query, ContextUnknown.class);