Kommandoübersicht für MongoDB

Kommandoübersicht

Grundlegende Kommandos

CommandFunktion
show dbszeigt eine Liste aller Datenbanken an
show collectionslistet alle Collections innherhalb der Datenbank auf
show userszeigt 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
helpmit help kann man sich noch einmal alle Commands anzeigen lassen

Weiterführende Kommandos

CommandFunktion
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.

OperatorMikrobeispielFunktion
$gtage: {$gt: 10}größer als 10
$ltage: {$lt: 10}kleiner als 10
$gteweigth: {$gte: 80}größer gleich 80
$lteweight:{$lte: 80}kleiner gleich 80
$nename:{$ne: „hans“}Wert entspricht nicht „hans“
$inHobbies:{$in: [„soccer“, „ruby“]}Wert ist in Array [„soccer“, „ruby“]
$ninhobbies:{$nin: [„SGDB“, „Datenbanken“]}Wert ist nicht in Array [„SGDB“, „Datenbanken“]
$modcount: {$mod: [2, 0]}Modulo 2 ergibt Wert 0
$allfood: {$all: [„pizza“, „Spaghetti“]}Wert enthält Array komplett
$sizefriends: {$size: 4}Array hat die Größe 4
$existsVorname: {$exists: true}Feld „Vorname“ existiert
$typefield: {$type: 2}Feld ist vom Datentyp String
$or{$or: [{name: „bob“}, {age: 10}]}matcht, wenn name=bob oder age=10
$elemMatcharr: {$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.

OperatorMikrobeispielFunktion
$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