Я извлекаю набор записей из коллекции и объединяюсь с другой коллекцией.
Я хотел бы добавить поле в проецируемое поле, но я получаю сообщение об ошибке - код и ошибка ниже:
db.getCollection("ConnectionEntity").aggregate(
// Pipeline
[
// Stage 1
{
$match: {
"Id":"9c06cb0c-966a-4f6b-b087-816587629079"
}
},
// Stage 2
{
$lookup: // Equality Match
{
from: "Enterprise",
localField: "EnterpriseId",
foreignField: "_id",
as: "joined"
}
},
// Stage 3
{
$project: {
"Enterprise": {"$arrayElemAt": ["$joined.Profile", 0]}
}
},
// Stage 4 - doesn't work
{
$addFields: {
"Enterprise.Id": {"$arrayElemAt": ["$joined._id", 0]}
}
},
]
);
Ошибка:
The following error occurred while attempting to execute the aggregate query
Mongo Server error (MongoCommandException): Command failed with error 28689: '$arrayElemAt's first argument must be an array'.
The full response is:
{
"_t" : "OKMongoResponse",
"ok" : NumberInt(0),
"code" : NumberInt(28689),
"errmsg" : "$arrayElemAt's first argument must be an array",
"$err" : "$arrayElemAt's first argument must be an array"
}