spring data mongodb @Query with exclude option



使用spring data mongo存储库类,我们如何声明一个方法来返回排除了几个字段的文档?Spring数据参考文档显示了'include'字段机制,但不排除。spring文档中的代码:

public interface PersonRepository extends MongoRepository<Person, String>
  @Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 1, 'lastname' : 1}")
  List<Person> findByThePersonsFirstname(String firstname);
}

我需要一个机制来指定要排除的字段?存储库方法支持这一点吗?

指定字段值为0。例:

public interface PersonRepository extends MongoRepository<Person, String>
  @Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 0}")
  List<Person> findByThePersonsFirstname(String firstname);
}

这将不会获取文档的firstname属性,并且返回的java对象中的值将为空。

findAll查询添加空过滤条件:

public interface PersonRepository extends MongoRepository<Person, String> {
    @Query(value = "{}", fields = "{ 'firstname' : 0 }")
    List<Person> findAll(Sort sort);
}

最新更新