Mongod debアルバムコレクションには、次のようなアイテムが含まれています。
var album = {
name: 'album1',
tracks: [{
title: 'track0',
language: 'en',
processing: {
tasks: [
{_id: 1, name: 'someTask1'},
{_id: 2, name: 'someTask2'},
]
}
},{
title: 'track1',
language: 'en',
},{
title: 'track2',
language: 'es',
}]
}
結果セットが次のようになるように、アルバム、track0、および_id 1のタスクを1つだけ選択する必要があります(1つのトラックと1つのタスクのみが含まれます)
{
name: 'album1'
tracks: [{
title: 'track0',
language: 'en',
processing: {
tasks: [
{_id: 1, name: 'someTask1', },
]
}
]
}
findを使用するだけで集約フレームワークなしでそれを行うことは可能ですか?
$ elemMatchと。$プロジェクションを試して出力を制限しましたが、ネストされたレベル> 1(この場合のタスク)では機能しないようです=(