Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring MongoDB基本查询不使用投影_Spring_Mongodb_Spring Data_Spring Data Mongodb - Fatal编程技术网

Spring MongoDB基本查询不使用投影

Spring MongoDB基本查询不使用投影,spring,mongodb,spring-data,spring-data-mongodb,Spring,Mongodb,Spring Data,Spring Data Mongodb,我有以下基本问题 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" : [ "APP

我有以下基本问题

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
Query: { "status" : { "$in" : [ "APPROVED" , "OPEN" , "NEW"]}}, Fields: { "siteId" : 1 , "_id" : 0}, Sort: null
如果您注意到,编译后的BasicQuery中仍然缺少字段。请帮助我如何在BasicQuery中进行项目。我可以使用下面的查询进行投影

Query query = new Query();
        query.addCriteria(Criteria.where(STATUS).in(validStatus));
        query.fields().include("siteId").exclude("_id");

我的问题是如何使用BasicQuery实现同样的目标。

我想我得到了答案。我们需要使用两个字符串参数的基本查询,而不是使用BasicQuery的单字符串参数构造函数,如下所示

BasicQuery query2 = new BasicQuery("{status:{$in:['APPROVED','NEW','OPEN']}}","{siteId:1,_id:0}");
以上内容将编译为以下查询


我想我知道答案了。我们需要使用两个字符串参数的基本查询,而不是使用BasicQuery的单字符串参数构造函数,如下所示

BasicQuery query2 = new BasicQuery("{status:{$in:['APPROVED','NEW','OPEN']}}","{siteId:1,_id:0}");
以上内容将编译为以下查询