MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:$elemMatch

$elemmatch(query) gibt alle Zeilen in einem Array zurück, wenn es mindestens eine Zeile gibt, die den Abfragekriterien entspricht.

$elemMatch(projection) gibt nur die erste Zeile aller übereinstimmenden Zeilen zurück, wenn sie als Projektion verwendet wird.

Sie brauchen elemMatch für Ihren Fall nicht, da es sich nur um einzelne Kriterien handelt.

db.trails.find({"Copper.name": { "Spaulding Bowl" } })

Versuchen Sie es wie unten, was die elemMatch-Projektionsvariante verwendet.

db.trails.find({}, {"Copper": { $elemMatch: { "name" : "Spaulding Bowl" } }  } )