2010-08-16 18 views
11

Ich bin ein Anfänger mit MongoDB und ich habe einige Fragen:einige Fragen Anfänger über MongoDB

  1. Wenn ich zu Mongo verbunden, und ich ausführen show dbs Ich sehe zwei Datenbanken: admin und local. Was ist ihre Rolle? Wenn ich dann einen Einfügebefehl wie db.foo.insert({"value":"mongo"}) ausführe, erscheint die test Datenbank. Warum? Wie kann ich einen benutzerdefinierten Namen für eine Datenbank angeben?

  2. Mit show dbs bekomme ich die Datenbanken (irgendwie wie show databases in SQL), wie kann ich Liste dann die Sammlungen in einer Datenbank (I show tables in SQL verwenden würde)?

  3. Beim Ausführen eines Befehls verwendet das MongoDB-Lernprogramm immer das Objekt db. Ist es das Hauptobjekt (eine Art "Verbindungsobjekt"), das zur Ausführung von Befehlen verwendet werden muss oder etwas anderes?

Vielen Dank!

Antwort

16
  1. admin und local enthalten verschiedene Einstellungen lokal auf dem Server, wie Benutzer, die authentifiziert werden zu verbinden. Unter Anfängergebrauch sollten Sie sich über sie überhaupt keine Sorgen machen müssen. Standardmäßig stellen Sie eine Verbindung zu einer Datenbank mit dem Namen test her. Um eine Verbindung zu einer neuen Datenbank herzustellen, geben Sie einfach use databasename von der mongo-Befehlszeile oder mongo databasename von Ihrer Betriebssystem-Shell ein.
  2. use [database_name] und dann show collections
  3. Das db Objekt ist Ihr Root-Handle für die aktuell ausgewählte Datenbank auf der Mongo commmand Linie. Die Befehlszeile ist eigentlich nur eine Javascript-Befehlszeile, und es gibt verschiedene mongodb-spezifische Objekte und Funktionen, mit denen Sie Dinge tun können. Versuchen Sie help() für eine vollständige Liste.
+0

Danke für die Antwort. Was ist mit der "Test" -Datenbank, warum erscheint sie immer als Standard beim Erstellen neuer Sammlungen? – Mark

+0

mongo erstellt implizit Datenbanken, wenn Sie zu diesen wechseln. Wenn Sie den Befehlszeilenclient ohne ein Argument starten, wird automatisch die Datenbank "test" verwendet (und erstellt, falls sie nicht bereits vorhanden ist). Sie können dies vermeiden, indem Sie mongo immer mit einem Parameter aufrufen (der DB, mit dem Sie sich verbinden wollen). –