Я использую запрос агрегации, чтобы получить список объектов B из вложенной структуры документа в MongoDB. Запрос отлично работает в оболочке mongo, и возвращается C._id
, но когда я делаю то же самое с данными пружины, он возвращает значение по умолчанию A._id
.
Это структура документа, имеющая коллекцию A, вложенную в массив B и массив Ar соответственно
{
_id: 1,
B : [{
_id: 1.1,
C : [{
_id: 1.1.10
type: "input"
}]
}]
}
Этот запрос возвращает 'C._id: 1.1.10'
db.sw_eng.aggregate([{"$unwind":"$B"},{"$unwind":"$B.C"},{"$match":{"B.C.type":"input"}},{$project:{_id:0, Cid:"$B.C._id"}}]);
Но когда я делаю то же самое, используя данные о весне
Aggregation getOutputPort = Aggregation.newAggregation(
unwind(B),
unwind(C),
match(...),
match(...),
match(...),
match(...),
project(B.C._id)
.andExpression("VALUE").as(B.C.value)<br>
);
Ожидаемый результат должен быть id:1.1.10
, но во всех случаях я получаю id:1