我正在使用
在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:27017”,“ok”:0.0,“errmsg”:“需要使用'cursor'选项,带有解释参数的聚合除外”,“code”:9,“codeName”:“FailedToParse”}