Versionen im Vergleich

Schlüssel

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

Im „Konsolenmodus“ ist es möglich, auf dem ausgewählten Server Java-Script Befehle gemäß der MongoDB Dokumentation auszuführen. Um in diesen Modus zu gelangen, einfach den Button "C" im Panelbereich drücken

Image Removed

und schon kann die Eingabe erfolgen.

Hinweis

Die Eingabe wird nicht von der Anwendung nachformatiert und direkt an den Server übermittelt....sie muss in der Syntax mit Eingaben in der Mongo-Konsole identisch sein.

 

Zu beachten dabei ist, dass komplexere Befehle in einer Funktion gekapselt werden müssen. Zur Anzeige muss das gewünscht Resultat mit „return“ zurückgegeben werden:Konsolenmodus können Mongo-Shell Befehle ausgeführt werden. Die Eingaben werden von der Anwendung nicht formatiert oder modifiziert, sondern unverändert an die Mongo-Shell weitergeleitet. 

Tipp

Hier findet man eine Dokumentation der Mongo-Shell Befehle: http://docs.mongodb.org/manual/core/crud-introduction/

Codeblock
themeEmacs
languagejs
linenumberstrue
function // Liefert alle Datensätze
db.zipcode.find();
 
// Liefert alle Städtename und sortiert danach
db.zipcode.find({}, {city: 1}).sort({
	var result = db['zips'].find();
	return result[0];
}

Bei einfachen Befehlen wie zum Beispiel "find" entfällt das „return“. 

city: 1})
 
// Erstelle eine neuen zipcode Datensatz
db.zipcode.insert({_id: '99999', city: 'LEIPZIG', pop: 520838, state: 'SN'})
 
// Analysieren der Abfrage
db.zipcode.find().explain()
 
// Zeige die Statistiken der Collection
db.zipcode.stats();
Warnung

Im Konsolenmodus gibt es keinen Pager. Daher werden bei jeder Abfrage alle Datensätze geladen. Da dies unter Umständen eine sehr große Datenmenge sein kann, wird die Ergebnismenge auf 100 Datensätze beschränkt. Es empfiehlt sich, die Funktionen skip() und limit() zu verwenden.

Info

Verwendet man nur einen Befehl, ist das Semikolon am Ende optional.

 

Man kann auch mehrere Befehle eingeben. Diese müssen dabei aber in eine Funktion eingeschlossen sein und das Ergebnis muss mit der return-Anweisung zurückgegeben werden.

Codeblock
themeEmacs
languagejs
linenumberstrue
db.zips.find();

oder

Codeblock
themeEmacs
languagejs
linenumberstrue
db.zips.stats();
Hinweis
Die Funktion steht nur zur Verfügung, wenn die Serverinstanz serverseitiges JavaScript aktiviert hat
function () {
	var stats = db.zipcode.stats();
	var index = db.zipcode.getIndexes();
	return {
		stats: stats,
		indexInformation: index
	};
}
Hinweis

Der Konsolenmodus funktioniert nur, wenn die Mongo-Serverinstanz serverseitiges JavaScript aktiviert hat. Dies ist standardmäßig aktiviert.