$elemmatch(zapytanie) zwraca wszystkie wiersze w tablicy, gdy przynajmniej jeden wiersz pasuje do kryteriów zapytania.
$elemMatch(projekcja) zwraca tylko pierwszy wiersz ze wszystkich pasujących wierszy, gdy jest używany jako projekcja.
Nie potrzebujesz elemMatch dla swojego przypadku, ponieważ jest to tylko pojedyncze kryterium.
db.trails.find({"Copper.name": { "Spaulding Bowl" } })
Spróbuj jak poniżej, który używa zmienności projekcji elemMatch.
db.trails.find({}, {"Copper": { $elemMatch: { "name" : "Spaulding Bowl" } } } )