MongoDB /
Kommandoübersicht für MongoDB
Kommandoübersicht
Grundlegende Kommandos
Command | Funktion |
show dbs | zeigt eine Liste aller Datenbanken an |
show collections | listet alle Collections innherhalb der Datenbank auf |
show users | zeigt die User in der aktuell ausgewählten Datenbank an |
use <db> | wechselt zu einer Datenbank. Alle db.XX Commands werden danach im Kontext der ausgewählten DB ausgeführt |
help | mit help kann man sich noch einmal alle Commands anzeigen lassen |
Weiterführende Kommandos
Command | Funktion |
use <db name> | set curent database to <db name> |
db.createCollection(„log“, { capped : true, size : <bytes>, max : <docs> } ) | Collection anlegen |
db.test.insert( {Name: „Fritz“, Alter: 20, Hobbies: [„SGDB“, „MongoDB“, „Informatik Master“]} ) | Dokument anlegen |
db.test.save({Name: „Fritz“, Alter: 30}) | Dokument verändern |
db.test.update({Name: "Fritz"}, {Name: "Husemuckel", Alter: 22}) | Dokument verändern |
db.test.update({Name: "Grisu"}, {$set: {Name: "Mafay"}}, false, true) | mehrere Dokumente auf einmal ändern |
db.test.find() | alle Dokumente anzeigen |
db.test.findOne(ObjectId("4fcb323e9db51b194c6fb00c")) | Dokument anzeigen zur ID |
db.cities.count({city: /atl.*a/i} | Regulärer Ausdruck: finde und zähle alle Städte die mit „atl“ beginnen und „a“ enden |
db.test.remove({city: „Atlanta“}) | löscht alle Dokumente mit der Stadt Atlanta |
db.test.remove(ObjectId(„4fcb323e9db51b194c6fb00c“)) | löscht Dokument anhand seiner ObjectId |
Query-Operatoren
MongoDB benutzt nur wenige Query-Operatoren, da sonst Probleme bei Skalierung und Replikation entsehen würden. Sie ermöglichen das Konstruieren effizienterer Abfragen. Jede Query sollte auch einen Index nutzen.
Operator | Mikrobeispiel | Funktion |
$gt | age: {$gt: 10} | größer als 10 |
$lt | age: {$lt: 10} | kleiner als 10 |
$gte | weigth: {$gte: 80} | größer gleich 80 |
$lte | weight:{$lte: 80} | kleiner gleich 80 |
$ne | name:{$ne: „hans“} | Wert entspricht nicht „hans“ |
$in | Hobbies:{$in: [„soccer“, „ruby“]} | Wert ist in Array [„soccer“, „ruby“] |
$nin | hobbies:{$nin: [„SGDB“, „Datenbanken“]} | Wert ist nicht in Array [„SGDB“, „Datenbanken“] |
$mod | count: {$mod: [2, 0]} | Modulo 2 ergibt Wert 0 |
$all | food: {$all: [„pizza“, „Spaghetti“]} | Wert enthält Array komplett |
$size | friends: {$size: 4} | Array hat die Größe 4 |
$exists | Vorname: {$exists: true} | Feld „Vorname“ existiert |
$type | field: {$type: 2} | Feld ist vom Datentyp String |
$or | {$or: [{name: „bob“}, {age: 10}]} | matcht, wenn name=bob oder age=10 |
$elemMatch | arr: {$elemMatch: {a: 1, b: 2}} | matcht, wenn arr.a=1 und arr.b=2 |
Modifier-Operatoren
Modifier-Operatoren dienen der Manipulation der Dokumente beim Update. Diese Operatoren ermöglichen das Ändern einzelner Felder in einem Dokument.
Operator | Mikrobeispiel | Funktion |
$inc | {$inc: {visits: 1}} | erhöht/verringert den Feldwert |
$set | {$set: {name: „Gisela“}} | ändert den Feldwert |
$unset | {$unset: {age: 1}} | löscht das angegebene Feld |
$push | {$push: {hobbies: „mongodb“}} | fügt einen neuen Wert dem Array-Feld zu |
$pushAll | {$pushAll: {buddies: [„joe“, „scott“]}} | fügt das komplette Array dem Feld hinzu |
$addToSet | {$addToSet: {vehicles: [„gocart“]}} | fügt den Wert dem Set hinzu |
$pop | {$pop: {todos: 1}} | löscht das letzte Element in einem Array |
$pull | {$pull: {colors: „green“}} | löscht den angegeben Wert aus dem Array |
$pullAll | {$pullAll: {food: [„cheese“, „bread“]}} | löscht alle angegebenen Werte aus dem Array |
$rename | {$rename: {„Name“, „Nachname“}} | benennt ein Feld um |
Quellen
- Edlich et. Al.(2011), 2.Aufl.: „NoSQL – Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken „ Carl Hanser Verlag, München
- Marc Boeker (2010), "MongoDB - Sag ja zu NoSQL", entwickler.press, Frankfurt
- Peter Membrey und Tim Hawkins (2010), "The definitive Guide to MongoDB, Eelco Plugge", Springer Verlag
- Internet: 10gen: MongoDB URL: http://www.mongodb.org (Stand: 20.08.2012)
zurück zu MongoDB
Kategorie: NoSQL, Dokument-DB, K