У меня есть коллекция mongoDB с такими данными, как:
{
"_id" : ObjectId("..."),
"records" : [
ISODate("2020-04-19T00:49:18.945Z"),
{
"_id" : ObjectId(""),
"date" : ISODate("2020-05-07T04:49:55.643Z"),
"text" : "someText"
}
],
}
Значение в records
отличается из-за обновлений версии.
Я хочу агрегировать records.text
по всем документы без учета недостающих данных. Код из MongoDB: агрегирование и сглаживание поля массива
db.collection.aggregate({$unwind : "records"},
{$project: {_id: 1, 'text': '$records.text'}})
выдает:
path option to $unwind stage should be prefixed with a '$': records
и исправляет ошибку из этих направлений для размещения пустых полей:
db.collection.aggregate({$unwind : "records", includeEmpty: false},
{$project: {_id: 1, 'text': '$records.text'}})
throws
A pipeline stage specification object must contain exactly one field.
Как я могу агрегировать значения из вложенных массивов с возможно пустыми значениями?