$ elemmatch(query)> クエリ条件に一致する行が少なくとも1つある場合、配列内のすべての行を返します。
$ elemMatch(projection) 射影として使用される場合、一致するすべての行の最初の行のみを返します。
単一の基準にすぎないため、ケースにelemMatchは必要ありません。
db.trails.find({"Copper.name": { "Spaulding Bowl" } })
elemMatchプロジェクションバリエーションを使用する以下のようにしてみてください。
db.trails.find({}, {"Copper": { $elemMatch: { "name" : "Spaulding Bowl" } } } )