Я исключаю следующий запрос mongodb. Я новичок в dong mongo. Скажите, пожалуйста, что я делаю неправильно
db.entityCounter.aggregate([
{
$lookup:
{
from: "fields",
localField: "code",
foreignField: "fieldCode",
as: "fieldsresult"
}
},{
$match:{
$and: [{
"fieldsresult.isVisible":"1"
},{"type":"field"
}]
}
}])
ниже приведен код Java-кода
LookupOperation lookupOperation = LookupOperation.newLookup()
.from("fields")
.localField("code")
.foreignField("fieldCode")
.as("fieldsresult");
AggregationOperation match1 = Aggregation.match(Criteria.where("fieldsresult.isVisible").is("1"));
// AggregationOptions aggregationOptions = Aggregation.newAggregationOptions();
DBObject ob=new BasicDBObject();
((BasicDBObject) ob).put("batchSize",10);
Aggregation aggregation = Aggregation.newAggregation(lookupOperation,match1).withOptions(Aggregation.newAggregationOptions().cursor(ob).build());
long val=0;
try {
AggregationResults<EntityCounter> result = mongoOperations.aggregate(aggregation, Fields.class, EntityCounter.class);
// val= result.getMappedResults();
}catch (Exception e){
e.printStackTrace();
}
, но яошибка ниже:
org.springframework.dao.InvalidDataAccessApiUsageException: сбой выполнения команды: ошибка [Требуется опция 'cursor', за исключением агрегата с аргументом объяснения], Command = {"aggregate":"entityCounter", "pipe": [{"$ match": {"fieldsresult.isVisible": "1"}}, {"$ lookup": {"from": "fields", "localField": "code", "foreignField": "fieldCode", "as": "fieldsresult"}}]};вложенное исключение - com.mongodb.MongoCommandException: команда завершилась с ошибкой 9: требуется опция «курсор», за исключением агрегирования с аргументом объяснения на локальном сервере: 27017.Полный ответ: {"ok": 0.0, "errmsg": требуется опция "курсор", за исключением агрегирования с аргументом объяснения "," code ": 9," codeName ":" FailedToParse "}