Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

The find-query is based on the syntax of the MongoDB JavaScript driver (http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#find). At least one query object is required. Optionally you can also specify an options object.

Codeblock
themeEmacs
languagejs
{query}[, {options}]

Eine Besonderheit von Mongo Management Studio ist es, die Abfragen so schnell und einfach wie möglich einzugeben. Die folgenden Beispiel Abfragen beziehen sich auf die Collection zipcode aus dem Erste Schritte Tutorial.

The find-query is based on the syntax of the MongoDB JavaScript driver (http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#find). At least one query object is required. Optionally you can also specify an options object.

Codeblock
languagejs
themeEmacs
{query}[, {options}]

A special feature of Mongo Management Studio is to enter the queries as quickly and easily as possible. The following example queries refer to the zipcode collection zipcode from the Erste SchritteGetting started tutorial.

Codeblock

...

code
language
js
themeEmacs
languagejs
// SucheSearch all nachcities allenin Städten aus dem US-Bundesstaat Kalifornienthe U.S. State of California. (CA)
// all allethe following Abfragenqueries liefernreturn dasthe gleichesame Ergebnisresult
 
// Standardstandard MongoDB Abfragequery
{state: "CA"}
 
// WennIf keinthere optionsis Objektno vorhandenoptions istobject, könnenthe diecurly geschweiftenbraces Klammerncan weggelassenbe werdenomitted
state: "CA"
 
// You Mancan kannalso auchwrite alleseverything in Anführungszeichenquotation schreibenmarks
"state": "CA"
 
// OderOr einfacheuse Anführungszeichensingle verwendenquotes
state: 'CA'
Hinweis

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.

Codeblock
themeEmacs
languagejs
// Suche alle Städte aus dem US-Bundesstaat Alabama (AL) mit mehr als 40000 Einwohnern

queries always distinguishes between upper and lowercase. To work around this, you can use Regular Expressions.


Of course it is possible to make more complex queries in this manner.

Codeblock
languagejs
themeEmacs
//Find all cities in the U.S. State of Alabama(AL) with more than 40,000 inhabitants
 
// Standardstandard MongoDB Abfragequery
{
	state: "AL",
	pop: {
		$gt: 40000
	}
}
 
// verkürzteshortened Abfragequery
state: "AL", pop: {$gt: 40000}
 
// verkürzteshortened Abfragequery mitwithout ohne Leerzeichenwhitespaces
state:"AL",pop:{$gt:40000}

...

Using options

Codeblock
languagejs
themeEmacs
languagejs
// Suche alle Städte aus dem US-Bundesstaat Alabama (AL) mit mehr als 40000 Einwohnern, und liefere in der Ergebnismenge nur die StädtenamenFind all cities in the U.S. State of Alabama(AL) with more than 40,000 inhabitants and return only the names of the cities as result
{state: "AL", pop: {$gt: 40000}}, {fields: {city: 1}}

// Array Syntax
{state: "AL", pop: {$gt: 40000}}, {fields: ['city']}

// auchalso id Feldfield leave weglassenout
{state: "AL", pop: {$gt: 40000}}, {fields: {city: 1, _id: 0}}
 
// Find Sucheall cities allein Städte aus dem US-Bundesstaat Alabama the U.S. State of Alabama(AL) mit mehr als 10000 Einwohnern und sortiere aufsteigend nach Städtenamen with a population of more than 10,000 and sort in ascending order by city name
{state: "AL", pop: {$gt: 10000}}, {sort: {city: 1}}
 
// Suche alle Städte aus dem US-Bundesstaat Alabama (AL) mit mehr als 10000 Einwohnern und liefere 10 Datensätze und überspringe die ersten 20 Datensätze
{state: "AL", pop: {$gt: 10000}}, {limit: 10, skip: 20}
Hinweis

Bei der Verwendung eines options Objekts müssen auch bei dem query Objekt geschweifte Klammern verwendet werden.

Tipp

In der Tabellenansicht kann auch Sortieren, ohne dass man eine sort option verwenden muss. Dazu genügt es, auf den Namen einer Spalte zu klicken, um nach dieser zu sortieren. Beim nochmaligen Klick auf den Spaltennamen wird die Sortierung umgekehrt.

Spezielle Datentypen

ObjectId

Folgende Abfragen liefern jeweils das gleiche Ergebnis, wenn man nach einer bestimmten ObjectId sucht

Codeblock
themeEmacs
languagejs
 Find all cities in the U.S. State of Alabama(AL) with a population of more than 10,000 and return 10 documents, whereby the first 20 documents are skipped
{state: "AL", pop: {$gt: 10000}}, {limit: 10, skip: 20}
Hinweis

When using an options object curly brackets must be used in the query object.

Hinweis

If you want to use "$elemMatch" with ObjectIds or ISODates in the options (see example), you must use the console mode.

Codeblock
languagejs
themeEmacs
{}, {fields: {match: {$elemMatch: {a: ObjectId("53ea1f663b6f20cc19001002")}}}}
Tipp

In the table view you can also sort without having to use a sort option. For this purpose, it is enough to click on the name of a column to sort by that. The sorting is reversed by repeated clicking on the column name.

Special data types

ObjectId

The following queries will each return the same result if you are looking for a specific ObjectId

Codeblock
languagejs
themeEmacs
{_id: ObjectId('52bd27ebf370afe931001364')}
{_id: ObjectId("52bd27ebf370afe931001364")}
_id: ObjectId('52bd27ebf370afe931001364')
_id: ObjectId("52bd27ebf370afe931001364")
_id: "52bd27ebf370afe931001364"
_id: '52bd27ebf370afe931001364'
// finde Person mit

recognizes strings,having the format of a MongoDB ObjectId and converts them. Should it happen that _ids stored as strings in a collection and they are compliant to MongoDB ObjectId, you have to use the Console mode for the query. Otherwise, no data is found.

Hinweis

Mongo Management Studio erkennt Strings, die das Format einer MongoDB ObjectId haben und konvertiert dieses dann. Sollte es passieren, dass in einer Collection _ids als Strings gespeichert und diese MongoDB ObjectId konform sind, muss man für die Suchabfrage über den Konsolenmodus verwenden. Ansonsten werden keine Daten gefunden.

Codeblock
themeEmacs
languagejs
Codeblock
languagejs
themeEmacs
// find persons with id '52bd27ebf370afe931001364'
db.persons.find{_id: '52bd27ebf370afe931001364'}

Datumswerte

...

Date values

Date values must be entered in a specific syntax because they can´t be converted automatically.

Codeblock
languagejs
themeEmacslanguagejs
// alsas ISO-String
start: ISODate('2013-08-02T08:20:38.993Z')
 
// alsas Datumsdate-String
start: {$gte: {ISODate('dec 11, 1989')}}
start: {$gte: {ISODate("1989, 12, 11")}}
 
// alsas timestamp in ms
start: ISODate(629379488000)
js
Hinweis
Codeblock
themeEmacs
language

JavaScript arbeitet in Millisekunden, UNIX timestamps müssen mit 1000 multipliziert werden, um korrekt umgerechnet oder angezeigt werden zu können.

Regex als Wertzuweisung eines Datenfeldes

Besitzt ein Feld eines Datensatzes als Wert einen Regex-Ausdruck kann man diesen wie folgt abfragen.

 works in milliseconds, UNIX timestamps must be multiplied by 1000 to be correctly converted or displayed.

Regex as a data field value assignment

If a field of a document has a value with a regex expression, you  can this query as follows.

Codeblock
languagejs
themeEmacs
pattern: /abc/
Hinweis

Es muss der komplette Regex-Ausdruck angegeben werden, um den entsprechenen Datensatz mit dem richtigen Wert zu erhaltenYou must specify the complete regex expression to obtain the corresponding document with the correct value.

Anker
regex
regex

Regex

...

Man kann Regex auch verwenden, um Felder abzufragen. 

...

queries for fields with strings

You can also use regex to query fields.

Codeblock
languagejs
themeEmacslanguagejs
// Suchefind alleall Städtecities, diebeginning mitwith 'FLO beginnen'
city: {$regex: '^FLO'}
 
// ignoriereignore Groß-upper undand Kleinschreibunglowercase
city: {$regex: '^flo', $options: 'i'}
 
// kurzeshortened Schreibweisequery
city: /^flo/i
Hinweis

In der derzeitigen Version werden lediglich die Parameter the current version only the parameter "i" sowie and "m" als Optionen bei der Kurzschreibweise unterstützt. Die Parameter are supported as options in the short notation. The parameter "s" und and "x" folgen in einer späteren Versionfollow in a later version.

Tipp

Genauere Informationen zum Gebrauch von Regex-Ausdrücken in Abfragen kann man hier nachlesen Here you can read more detailed information about the use of regex expressions in queries: http://docs.mongodb.org/manual/reference/operator/query/regex/