1

ドキュメントとタイプの 2 つのコレクションがあります。ドキュメントにはドキュメントがあります:

{
    '_id': ObjectId('0000'),
    'name': 'someName',
    'type': ObjectId('1111') // id i have
}

種類:

{
    '_id': ObjectId('2222'),
    'for': 'Docs',
    'types': [
        {
            '_id': ObjectId('1111'), // type i need
            'name': 'someType' // want to get this name
        }
         // , and so on
    ]
}

Docs.findOne({_id: '0000'})私がtype = ObjectId('1111')(「someType」のID)を持った後。someType の名前の値を取得する最良の方法は何ですか?

4

1 に答える 1

0

$フィールド選択パラメーターで位置演算子を使用してfindOne、一致する要素だけを引き出すことができます。

Types.findOne({'types._id': someTypeId}, {'types.$': 1}, function (err, type) {
    if (type) {
        console.log('Type name is: ' + type.types[0].name);
    }
});
于 2012-10-10T13:22:53.383 に答える