Java/MongoDB - 如何解决错误 "exception: pipeline element 0 is not an object"

标签 java mongodb aggregation-framework

我正在使用 aggregate() 方法并在游标中查找我正在使用以下代码的结果

                 dbObjArray = new BasicDBObject[2]
                 dbObjArray[0]= cruxLevel
                 dbObjArray[1] = project
                // dbObjArray[2] = out
                 List<DBObject> pipeline = Arrays.asList(dbObjArray)
                 if (!datasetObject?.isFlat && jsonFor != 'collection-grid') {
                     println '-------------------------------- inside if block bbb--------------------------------------'
                     output= dataSetCollection.aggregate(pipeline)
                 }else{

                     /*DBObject out = new BasicDBObject('$out':"datasetTemp");
                     def db = getDB()*/

                     println '-------------------------------- inside else block--------------------------------------'

                      AggregationOptions aggregationOptions = AggregationOptions.builder()
                     .batchSize(100)
                     .outputMode(AggregationOptions.OutputMode.CURSOR)
                     .allowDiskUse(true)
                     .build();

                     output = dataSetCollection.aggregate(project)
                 }

我遇到了错误。

com.mongodb.CommandFailureException: { "serverUsed" : "127.0.0.1:15847" , "errmsg" : "exception: pipeline element 0 is not an object" , "code" : 15942 , "ok" : 0.0}

我哪里出错了,请帮忙!

谢谢。

最佳答案

def dbObjArray = new BasicDBObject[1]
dbObjArray[0]= project
List<DBObject> flatPipeline = Arrays.asList(dbObjArray)

AggregationOptions aggregationOptions = AggregationOptions.builder()
                                        .batchSize(100)
                                        .outputMode(AggregationOptions.OutputMode.CURSOR)
                                        .allowDiskUse(true)
                                        .build();
def cursor = dataSetCollection.aggregate(flatPipeline,aggregationOptions)

关于Java/MongoDB - 如何解决错误 "exception: pipeline element 0 is not an object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33208640/

相关文章:

node.js - 云9+mongodb+nodejs

node.js - 如何通过嵌套在多个数组中的_id访问对象

java - 将有序二叉树转换为双循环链表

mongodb - Sails 查询模型总是返回 undefined

java - 如何导入内部protobuf消息?

php - 如何去掉mongoDB查询结果中的 `_id`字段?

MongoDB 聚合 - 使用另一个数组过滤数组

MongoDB - 如何合并文档的字典字段?

java - ExecutorService 池中的数组中所有元素的总和不起作用

Java ProcessBuilder 使用 cat 重定向输入