Database Reference
In-Depth Information
Sie können mehr machen, als nur einen Wert zu $set zen. $inc (eine Zahl in-
krementieren) ist auch recht nützlich. Lassen Sie uns Portlands Einwohner-
zahl um 1000 erhöhen.
db.towns.update(
{ _ id : ObjectId( "4d0ada87bb30773266f39fe5" )},
{ $inc : { population : 1000} }
)
Es gibt viele Direktiven wie diese, etwa den Positionsoperator $ für Arrays.
Neue Operationen werden häufig hinzugefügt und in der Online-Dokumen-
tation ergänzt. Hier die wichtigsten Direktiven:
Befehl
Beschreibung
$set
Setzt das angegebene Feld auf den angegebenen Wert
$unset
Entfernt das Feld
$inc
Addiert den angegebenen Wert zum angegebenen Feld hinzu
$pop
Entfernt das letzte (oder erste) Element aus einem Array
$push
Fügt einen Wert in ein Array ein
$pushAll
Fügt alle Werte in ein Array ein
$addToSet Wie push, aber ohne doppelte Werte
$pull
Entfernt passende Werte aus einem Array
$pullAll
Entfernt alle passenden Wert aus einem Array
Referenzen
Wie bereits erwähnt, wurde Mongo nicht für Joins entwickelt. Aufgrund sei-
ner verteilten Natur sind Joins recht ineffiziente Operationen. Dennoch ist es
für Dokumente manchmal nützlich, sich gegenseitig zu referenzieren. In die-
sem Fall empfiehlt das Mongo-Entwicklungsteam ein Konstrukt wie { $ref :
"collection _ name", $id : "reference _ id" } . Zum Beispiel können wir un-
sere towns -Collection um eine Referenz auf ein Dokument in countries er-
gänzen.
db.towns.update(
{ _ id : ObjectId( "4d0ada87bb30773266f39fe5" )},
{ $set : { country: { $ref: "countries" , $id: "us" }}}
)
Nun können Sie Portland aus der towns -Collection abrufen.
 
Search WWH ::




Custom Search