MongoDB Hallo Weltbeispiel

mongodb hallo world

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.

  1. show dbs - Listet alle Datenbanken auf.

  2. use db name - Wechselt zu dbname.

  3. 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 Sie db.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.