Я не могу выполнить агрегатную операцию на mongoDB, используя Groovy - PullRequest
0 голосов
/ 13 декабря 2018

Я использую Groovy язык для выполнения операций агрегации на mongoDB.Конвейерная работа, поиск и проект выглядят нормально.Но я получаю ошибку в совокупности.Я пробовал так много решений относительно этой ошибки, но ни одно из них не работает для меня.Кто-нибудь может мне помочь?

c_1.insert(new BasicDBObject(["id" : 10, "name" : "abc", "lastName" : "kumar",  "companyId": 10]))    
c_2.insert(new BasicDBObject(["id" : 10, "companyName" : "Microsoft", "numEmployee" : 100 ]))  

// Build the $match operations
DBObject match = new BasicDBObject("\$match", new BasicDBObject("id", 10));  

// Build the $lookup operations 
DBObject lookupFields = new BasicDBObject("from", "c_2");
lookupFields.put("localField", "companyId");
lookupFields.put("foreignField", "id");
lookupFields.put("as", "companydoc"); 
DBObject lookup = new BasicDBObject("\$lookup", lookupFields);  

// Build the $project operations 
DBObject projectFields = new BasicDBObject("name", 1);
projectFields.put("lastName", 1);
projectFields.put("companyId", 1);
projectFields.put("companyName", "\$c_2.companyName");       
DBObject project = new BasicDBObject("\$project", projectFields); 
List<DBObject> pipeline = Arrays.asList(match, lookup, project);  
AggregationOutput output = c_1.aggregate(pipeline.get(0), pipeline.get(1), pipeline.get(2))  

Ошибка: Ответное сообщение: javax.script.ScriptException: com.mongodb.CommandFailureException: {"serverUsed": "/xx.xx.xx.xx: 27017 "," ok ": 0.0," errmsg ": требуется опция" курсор ", за исключением агрегирования с аргументом объяснения", "code": 9, "codeName": "FailedToParse"}

1 Ответ

0 голосов
/ 03 января 2019

Проблема решена.

Используется последняя версия mongo-java-driver.

...