我在repo中有一个查询如下,


public class Boo {
  EnumType enumType;
}

public class Foo extends Boo {
  String id;
}

public interface FooRepository extends MongoRepository<Foo, String> {

  Foo findFooById(String id)
}

我需要添加另一个条件来判断字段$exists: false是否已使用显式@Query完成--但是否可以在查询方法itslef(可能是findFooByIdAndEnumTypeNotExists或其他值)中使用它?


public interface FooRepository extends MongoRepository<Foo, String> {

  @Query(value="{ id: ?0, enumType: { $exists: false } }")
  Foo findFooById(String id)

}

推荐答案

当然,这是可能的!您可以找到查询派生in MongoDB in the official sprign-data-mongdb documentation支持的所有关键字.

附言:所以您的例子(即findFooByIdAndAnotherFieldExists)是正确的:)

Java相关问答推荐

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

如何使用CSS为选定但未聚焦的表格行设置背景 colored颜色 ?

Mat. n_Delete()和Mat. n_release的区别

使用JdkClientHttpRequestFactory通过Spring RestClient和Wiemock读取时达到EOF

如何在Java中从XML中获取特定的 node ,然后将其删除?

具有阻塞方法的开源库是否应该为执行提供异步选项?

try 判断可选参数是否为空时出现空类型安全警告

Spring Security不允许加载js

搜索列表返回多个频道

Android Java:已设置但未读取SharedPreferences

在不使用instanceof或强制转换的情况下从父类变量调用子类方法

如何在字节数组中反转UTF-8编码?

判断重复的两个二维表算法?

Java HashMap保留所有时间复杂性

如何使用带有可选参数的类生成器?

spring 更新多项管理关系

始终使用Spring Boot连接mongodb上的测试数据库

关于正则表达式的一个特定问题,该问题与固定宽度负向后看有关

更新不可变的深层嵌套字段

ChromeDriver 版本 117+ 强制另存为对话框 - 如何绕过? (selenium/Java)