Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
如何实现MongoDB聚合”;开关";用java_Java_Mongodb - Fatal编程技术网

如何实现MongoDB聚合”;开关";用java

如何实现MongoDB聚合”;开关";用java,java,mongodb,Java,Mongodb,我需要找到一种用Java实现聚合切换的方法 我使用聚合开关成功地查询了MongoDB,但我不知道如何在Java中使用BasicDBObject类,而不是Java驱动程序来实现它。有没有办法告诉我开发文档或实现它的方法 db.collection.aggregate([{ $项目:{ 评论:1, 排序:{ $switch:{ 分支:[{case:{$eq:[“$checkStatus”,0]},然后:1}, {case:{$eq:[“$checkStatus”,1]},然后:3}, {case:{

我需要找到一种用Java实现聚合切换的方法

我使用聚合开关成功地查询了MongoDB,但我不知道如何在Java中使用
BasicDBObject
类,而不是Java驱动程序来实现它。有没有办法告诉我开发文档或实现它的方法

db.collection.aggregate([{
$项目:{
评论:1,
排序:{
$switch:{
分支:[{case:{$eq:[“$checkStatus”,0]},然后:1},
{case:{$eq:[“$checkStatus”,1]},然后:3},
{case:{$eq:[“$checkStatus”,2]},然后:2}]
}}}},
{$sort:{sort:1}
])

以下是查询的Java等效代码:

List<BasicDBObject> aggregates = Arrays.asList(
                new BasicDBObject("$project", new BasicDBObject("comment", 1).append("sort", BasicDBObject.parse(
                        "{ $switch: { branches: [ { case: { $eq: ['$checkStatus', 0] }, then: 1 }, { case: { $eq: ['$checkStatus', 1] }, then: 3 }, { case: { $eq: ['$checkStatus', 2] }, then: 2 } ], 'default':-1 } }"))),
                new BasicDBObject("$sort", new BasicDBObject("sort", 1)));
List aggregates=Arrays.asList(
新建BasicDBObject($project),新建BasicDBObject(“comment”,1)。追加(“sort”,BasicDBObject.parse(
“{$switch:{分支:[{case:{$eq:['$checkStatus',0]},然后:1},{case:{$eq:['$checkStatus',1]},然后:3},{case:{$eq:['$checkStatus',2]},然后:2},'default':-1}”),
新的BasicDBObject($sort),新的BasicDBObject(“sort”,1));