0

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(この場合のタスク)では機能しないようです=(

4

0 に答える 0