En caso de que esté usando al menos MongoDB v3.2, puede usar $arrayElemAt
operador para eso. La siguiente consulta hace lo que quieres. Sin embargo, no devolverá ningún dato para la muestra que proporcionó porque el "Instructions.1": { $exists: true }
el filtro elimina el documento de muestra.
db.getCollection('Orders').aggregate([{
$match: {
"Instructions.1": {
$exists: true
}
}
}, {
$project: {
"_id": 0,
"UserId": "$User.EntityId",
"ItemName": { $arrayElemAt: [ "$Items.Details.ItemName", 0 /* first item! */] }
}
}])