これは、$unwind
で実行できます。 updates
を行う 配列、結果のドキュメントをdate
で並べ替えます 、次に$group
_id
でそれらを一緒に戻します ソートされた順序を使用します。
db.servers.aggregate(
{$unwind: '$service.apps.updates'},
{$sort: {'service.apps.updates.date': 1}},
{$group: {_id: '$_id', 'updates': {$push: '$service.apps.updates'}}},
{$project: {'service.apps.updates': '$updates'}})