2

スキーマ内のオブジェクトに、配列の配列内のオブジェクトを設定したいので、2 つの ID を確認する必要があります。アレイごとに 1 つ。

{ _id: 101,
NewsGroup: [ [_id: 102, category: A], [_id: 103, category: B] ] }

Alpha というオブジェクトにカテゴリ A を設定したい

これを試すと:

Model.findById(101).populate('Alpha', 'NewsGroup.category').exec(function(err, Beta) {
    req.Zita = Beta ;
    console.log( Zita );
});

Aだけでなく、すべてのカテゴリを返します。

私もこれを試しましたが、うまくいきません

.populate({
           path: 'Alpha',
           match: { 'NewsGroup':  { '_id': '102' } },
           //match: { 'NewsGroup':  { $elemMatch: { '_id': '102' }}  },
           select: 'category'
        })

何か案は?

4

0 に答える 0