Find (de)
Die Find Abfrage orientiert sich an der Syntax des MongoDB Javascript Treibers (http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#find). Es wird mindestens ein query Objekt benötigt. Optional kann man noch ein options Objekt angeben.
{query}[, {options}]
Eine Besonderheit von Mongo Management Studio ist es, die Abfragen so schnell und einfach wie möglich einzugeben. Die folgenden Beispielabfragen beziehen sich auf die Collection zipcode aus dem Erste Schritte Tutorial.
// Suche nach allen Städten aus dem US-Bundesstaat Kalifornien (CA)
// alle Abfragen liefern das gleiche Ergebnis
Â
// Standard MongoDB Abfrage
{state: "CA"}
Â
// Wenn kein options Objekt vorhanden ist, können die geschweiften Klammern weggelassen werden
state: "CA"
Â
// Man kann auch alles in AnfĂĽhrungszeichen schreiben
"state": "CA"
Â
// Oder einfache AnfĂĽhrungszeichen verwenden
state: 'CA'
MongoDB unterscheidet bei Abfragen immer zwischen GroĂź- und Kleinschreibung. Um dies zu umgehen, kann man Regular Expressions verwenden.
NatĂĽrlich lassen sich auf diese Art und Weise auch komplexere Abfragen gestalten.
// Suche alle Städte aus dem US-Bundesstaat Alabama (AL) mit mehr als 40000 Einwohnern
Â
// Standard MongoDB Abfrage
{
state: "AL",
pop: {
$gt: 40000
}
}
Â
// verkĂĽrzte Abfrage
state: "AL", pop: {$gt: 40000}
Â
// verkĂĽrzte Abfrage ohne Leerzeichen
state:"AL",pop:{$gt:40000}
Verwendung von Optionen
Bei der Verwendung eines options Objekts mĂĽssen auch bei dem query Objekt geschweifte Klammern verwendet werden.
Soll in den Optionen mittels "$elemMatch" nach ObjectIds oder ISODates gesucht werden (siehe Beispiel), so muss der Konsolenmodus verwendet werden.
Spezielle Datentypen
ObjectId
Folgende Abfragen liefern jeweils das gleiche Ergebnis, wenn man nach einer bestimmten ObjectId sucht
Datumswerte
Datumswerte müssen in einer bestimmten Syntax eingegeben werden, da diese nicht automatisch konvertiert werden können.
Regex als Wertzuweisung eines Datenfeldes
Besitzt ein Feld eines Datensatzes als Wert einen Regex-Ausdruck kann man diesen wie folgt abfragen.
Regex-Abfragen fĂĽr Felder mit Strings
Man kann Regex auch verwenden, um Felder abzufragen.Â