【发布时间】:2018-03-06 15:13:47
【问题描述】:
我有以下 BasicQuery
BasicQuery query2 = new BasicQuery("{status:{$in:['APPROVED','NEW','OPEN']}},{siteId:1,_id:0}");
BasicQuery 是 SpringData mongoDb org.springframework.data.mongodb.core.query.BasicQuery 中的一个类。在进行调试时,上面的查询被编译成
Query: { "status" : { "$in" : [ "APPROVED" , "NEW" , "OPEN"]}}, Fields: null, Sort: { }
但是应该是编译成下面这样的
Query: { "status" : { "$in" : [ "APPROVED" , "OPEN" , "NEW"]}}, Fields: { "siteId" : 1 , "_id" : 0}, Sort: null
如果您注意到,编译的 BasicQuery 中仍然缺少字段。请帮助我如何在 BasicQuery 中进行项目。我可以使用 Query 进行投影,如下所示。
Query query = new Query();
query.addCriteria(Criteria.where(STATUS).in(validStatus));
query.fields().include("siteId").exclude("_id");
我的查询是如何使用 BasicQuery 实现相同的目标。
【问题讨论】:
标签: spring mongodb spring-data spring-data-mongodb