Serverseitiges Script
Im Serverseitigen Script Modus können Mongo-Shell Befehle ausgeführt werden. Die Eingaben werden von der Anwendung nicht formatiert oder modifiziert, sondern unverändert an die db.command() Funktion des MongoDB node.js Treibers weitergeleitet.
Hier findet man die Dokumentation der Mongo-Shell Befehle: http://docs.mongodb.org/manual/core/crud-introduction/
// Liefert alle Datensätze
db.zipcode.find();
// Liefert alle Städtename und sortiert danach
db.zipcode.find({}, {city: 1}).sort({city: 1})
// Erstelle einen 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();
Im Serverseitigen Script Modus 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.
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.
function () {
var stats = db.zipcode.stats();
var index = db.zipcode.getIndexes();
return {
stats: stats,
indexInformation: index
};
}
Der Serverseitiges Script Modus funktioniert nur, wenn die Mongo-Serverinstanz serverseitiges JavaScript aktiviert hat. Dies ist standardmäßig aktiviert.
Ab Version 2.6 von MongoDB funktioniert der Serverseitiges Script Modus nicht, wenn Authentifizierung für die Datenbank aktiviert ist. Dann wir nämlich von MongoDB das Ausführen serverseitigem JavaScript blockiert.