使用spring数据mongo repository类,我们如何声明一个方法来返回排除了少量字段的文档? Spring数据参考文档显示“包含”字段机制但不排除。 来自spring documentation的代码:
public interface PersonRepository extends MongoRepository<Person, String>
@Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 1, 'lastname' : 1}")
List<Person> findByThePersonsFirstname(String firstname);
}
我需要一种机制来指定要排除的字段?这是否支持存储库方法?
答案 0 :(得分:3)
将字段值指定为0. Ex:
public interface PersonRepository extends MongoRepository<Person, String>
@Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 0}")
List<Person> findByThePersonsFirstname(String firstname);
}
这不会获取文档的firstname属性,并且返回的java对象中的值将为null。
答案 1 :(得分:0)
为findAll
查询添加空的过滤条件:
public interface PersonRepository extends MongoRepository<Person, String> {
@Query(value = "{}", fields = "{ 'firstname' : 0 }")
List<Person> findAll(Sort sort);
}