我正在使用
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}
请问我做错了什么,请帮忙解决!
谢谢。
cruxLevel
和project
的值是什么?管道的JSON等效表示是什么? - chridamcruxLevel
和project
的值是什么? - chridam