Eine kurze Anleitung, die Ihnen zeigt, wie Sie grundlegende Operationen wie das Erstellen, Aktualisieren, Suchen und Löschen von Datensätzen und das Indizieren in MongoDB ausführen. In diesem Beispiel wird MongoDB 2.0.7 verwendet, das unter Mac OS X 10.8 ausgeführt wird. Sowohl der MongoDB-Client als auch die Serverkonsole werden auf dem lokalen Rechner localhost ausgeführt.
1. Installieren Sie MongoDB
Installieren Sie MongoDB unter
Windows
,
Ubuntu
oder
Mac OS X
. Die Installation ist einfach, im Grunde laden Sie einfach die MongoDB-Zip-Datei herunter und führen den Befehl -
$ MongoDB-folder/bin/mongod
aus.
Benutzt
Mongod
, um MongoDB zu starten.
$./mongod Tue Sep 11 21:55:36[initandlisten]MongoDB starting : pid=72280 port=27017 dbpath=/data/db/64-bit host=Yongs-MacBook-Air.local Tue Sep 11 21:55:36[initandlisten]db version v2.0.7, pdfile version 4.5 Tue Sep 11 21:55:36[initandlisten]options: {} Tue Sep 11 21:55:36[initandlisten]journal dir=/data/db/journal Tue Sep 11 21:55:36[initandlisten]recover : no journal files present, no recovery needed Tue Sep 11 21:55:36[websvr]admin web console waiting for connections on port 28017 Tue Sep 11 21:55:36[initandlisten]waiting for connections on port 27017
2. Verbinden Sie MongoDB
Für die Verbindung von MongoDB verwenden Sie den $ MongoDB-Ordner/bin/mongo
$ ./mongo MongoDB shell version: 2.0.7 connecting to: test
3. Erstellen Sie eine Datenbank oder Tabelle (Sammlung)
In MongoDB werden Datenbank und Tabelle automatisch erstellt, wenn Daten zum ersten Mal eingefügt werden. Verwendet
use database-name
, um zu Ihrer Datenbank zu wechseln (selbst wenn diese noch nicht erstellt wurde)
In dem folgenden Beispiel werden nach dem Einfügen eines einzelnen Datensatzes die Datenbank „mkyong“ und die Tabelle „Benutzer“ im laufenden Betrieb erstellt.
$ ./mongo MongoDB shell version: 2.0.7 connecting to: test > use mkyong switched to db mkyong > db.users.insert({username:"mkyong",password:"123456"}) > db.users.find() { "__id" : ObjectId("504f45cd17f6c778042c3c07"), "username" : "mkyong", "password" : "123456" }
Drei Datenbankbefehle, die Sie kennen sollten.
-
show dbs
- Listet alle Datenbanken auf. -
use db name
- Wechselt zu dbname. -
show collection
- Listet alle Tabellen in der aktuell ausgewählten Datenbank auf.
4. Fügen Sie einen Datensatz ein
Verwenden Sie zum Einfügen eines Datensatzes
db.tablename.insert ({data})
oder
db.tablename.save ({data})
, beide funktionieren. Keine Ahnung, warum MongoDB beide erstellt hat.
> db.users.save({username:"google",password:"google123"}) > db.users.find() { "__id" : ObjectId("504f45cd17f6c778042c3c07"), "username" : "mkyong", "password" : "123456" } { "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
5. Aktualisieren Sie einen Datensatz
Verwenden Sie zum Aktualisieren eines Datensatzes
db.tablename.update ({kriterien}, {$ set: {new value}})
. In dem folgenden Beispiel wird das Kennwort des Benutzernamens: „mkyong“ aktualisiert.
> db.users.update({username:"mkyong"},{$set:{password:"hello123"}}) > db.users.find() { "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" } { "__id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
6. Datensätze suchen
Zum Suchen oder Abfragen von Datensätzen verwenden Sie
db.tablename.find ({Kriterien})
.
-
6.1 ** Listet alle Datensätze aus der Tabelle "Benutzer" auf.
> db.users.find() { "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" } { "__id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
-
6.2 ** Datensätze suchen, bei denen der Benutzername "google" ist
> db.users.find({username:"google"}) { "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
-
6.3 ** Suchen von Datensätzen, bei denen der Benutzername weniger als oder gleich 2 ist
db.users.find({$where:"this.username.length<=2"})
-
6.4 ** Datensätze suchen, in denen das Feld "Benutzername" vorhanden ist.
db.users.find({username:{$exists : true}})
7. Datensatz löschen
Um einen Datensatz zu löschen, verwenden Sie
db.tablename.remove ({Kriterien})
. In dem folgenden Beispiel wird der Datensatz des Benutzernamens "google" gelöscht.
> db.users.remove({username:"google"}) > db.users.find() { "__id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
-
Note ** + Um alle Datensätze aus einer Tabelle zu löschen, verwendet
db.tablename.remove ()
. + Zum Löschen der Tabelle verwenden Siedb.tablename.drop ()
.
8. Indizierung
Der Index kann Ihnen dabei helfen, die Geschwindigkeit der Datenabfrage zu erhöhen.
-
8.1 ** Listet alle Indizes der Tabelle "Benutzer" auf. Standardmäßig ist die Spalte "__id" immer der Primärschlüssel und wird automatisch erstellt.
> db.users.getIndexes()[ { "v" : 1, "key" : { "__id" : 1 }, "ns" : "mkyong.users", "name" : "__id__" }]>
-
8.2 ** Zum Erstellen eines Indexes verwenden Sie
db.tablename.ensureIndex (column)
. In dem folgenden Beispiel wird ein Index für die Spalte "Benutzername" erstellt.
> db.users.ensureIndex({username:1}) > db.users.getIndexes()[ { "v" : 1, "key" : { "__id" : 1 }, "ns" : "mkyong.users", "name" : "__id__" }, { "v" : 1, "key" : { "username" : 1 }, "ns" : "mkyong.users", "name" : "username__1" }].... ** 8.3 ** Um einen Index zu löschen, wird `db.tablename.dropIndex (column)` verwendet. In dem folgenden Beispiel wird der Index in der Spalte "Benutzername" gelöscht oder gelöscht.
db.users.dropIndex({username:1}) { "nIndexesWas" : 2, "ok" : 1 } db.users.getIndexes()[ { "v" : 1, "key" : { " id" : 1 }, "ns" : "mkyong.users", "name" : " id__" }]>
** 8.4 ** Um einen eindeutigen Index zu erstellen, wird `db.tablename.ensureIndex ({column}, {unique: true})` verwendet. In dem folgenden Beispiel wird ein eindeutiger Index für die Spalte "Benutzername" erstellt.
db.users.ensureIndex({username:1},{unique:true}); db.users.getIndexes()[ { "v" : 1, "key" : { " id" : 1 }, "ns" : "mkyong.users", "name" : " id " }, { "v" : 1, "key" : { "username" : 1 }, "unique" : true, "ns" : "mkyong.users", "name" : "username 1" }]….
10. Hilfe
Zum Schluss werden Sie mithilfe von "help ()" in MongoDB beschrieben.
10.1
help
- Alle verfügbaren Befehle.
> help db.help() help on db methods db.mycoll.help() help on collection methods rs.help() help on replica set methods help admin administrative help help connect connecting to a db help help keys key shortcuts //...
10.2
db.help ()
- Zeigt Hilfe zu db an.
> db.help() DB methods: db.addUser(username, password[, readOnly=false]) db.auth(username, password) db.cloneDatabase(fromhost) db.commandHelp(name) returns the help for the command db.copyDatabase(fromdb, todb, fromhost) //...
10.3
db.collection.help ()
- Zeigt Hilfe zur Sammlung (Tabelle) an.
> db.users.help() DBCollection help db.users.find().help() - show DBCursor help db.users.count() db.users.dataSize() db.users.distinct( key ) - eg. db.users.distinct( 'x' ) db.users.drop() drop the collection db.users.dropIndex(name) //...
10.4
db.collection.function.help ()
- Zeigt die Hilfe zur Funktion an.
> db.users.find().help() find() modifiers .sort( {...} ) .limit( n ) .skip( n ) .count() - total # of objects matching query, ignores skip,limit .size() - total # of objects cursor would return, honors skip,limit .explain([verbose]) //...
Erledigt. Ich hoffe, diese Zusammenfassung der MongoDB-Befehle könnte anderen helfen.
Referenzen
-
http://www.mongodb.org/display/DOCS/Tutorial [Official MongoDB
Tutorials +]. MongoDB-Indizes