これは、find
を使用して直接行うことはできません。 およびelemMatch
elemMatch
の次の制限のため およびmongo array fields
。
およびmongo配列フィールドの制限は以下のとおりです
したがって、これに従ってexam
のみを見つけようとしました。 またはquiz
db.collectionName.find({"_id":22,"scores":{"$elemMatch":{"type":"exam"}}},{"scores.$.type":1}).pretty()
exam
のみを表示します スコア配列。
それ以外の場合は、aggregation
を実行する必要があります