Java/MongoDB-如何解决错误“例外:管道元素0不是对象". [英] Java/MongoDB - How to resolve error "exception: pipeline element 0 is not an object"
本文介绍了Java/MongoDB-如何解决错误“例外:管道元素0不是对象".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用aggregate()
方法,并在游标中查找我正在使用以下代码的结果
I am using aggregate()
method and looking result in cursor for that I am using below code
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":例外:管道元素0不是 对象",代码":15942,确定":0.0}
com.mongodb.CommandFailureException: { "serverUsed" : "127.0.0.1:15847" , "errmsg" : "exception: pipeline element 0 is not an object" , "code" : 15942 , "ok" : 0.0}
我要去哪里了,请帮忙!
Where I'm going wrong please help!
谢谢.
推荐答案
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-如何解决错误“例外:管道元素0不是对象".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文