我在Spring引导中有一个mongo集合模型,如下所示
@Document
class MyModel{
@Id
String id;
String name;
}
我创建了它的存储库
public interface MyModelRepository extends MongoRepository<MyModel,String> {
}
我知道我可以在MyModelRepository
中声明一个方法,以使用findByField(字符串名称(查找name
值等于某个名称(let John(的文档。但若我想要所有名称不等于John的文档,那个么我不确定如何在同一个存储库中声明这个方法
我知道我可以在MongoTemplate中使用@Query或Criteria,但我想知道如果没有@Query或findBy等值的条件,是否可能。我试过List<MyModel> findByNotEqualName(String name)
和List<MyModel> findByNotName(String name)
,但都是抛出错误。我试着搜索它,但没有找到任何东西,找到了这个,但也使用MongoTemplate的Criteria回答了这个问题。
NOT ($ne)
运算符位于field
名称之后。因此正确的语法将是
public interface MyModelRepository extends MongoRepository<MyModel,String> {
List<MyModel> findByNameNot(String name);
}