2010-08-16 15 views
11

Sono un principiante con MongoDB e ho alcune domande:domande Alcuni principianti circa MongoDB

  1. Quando mi sono connesso a Mongo, e io eseguo show dbs vedo 2 basi di dati: admin e local. Qual è il loro ruolo? Quindi se eseguo un comando di inserimento come db.foo.insert({"value":"mongo"}), viene visualizzato il database test. Perché? Come posso specificare un nome personalizzato per un database?

  2. Con show dbs ricevo le basi di dati (in qualche modo come show databases in sql), come posso quindi elencare le raccolte all'interno di un database (che userei show tables in SQL)?

  3. Durante l'esecuzione di un comando, il tutorial di MongoDB utilizza sempre l'oggetto db. È l'oggetto principale (una sorta di oggetto "connessione") che deve essere usato per eseguire comandi o è qualcos'altro?

Grazie!

risposta

16
  1. admin e local contengono varie impostazioni locali al server, come gli utenti che sono autenticati di connettersi. Con l'uso principiante, non dovresti preoccuparti affatto di loro. Per impostazione predefinita, ci si connette a un database denominato test. Per connettersi a un nuovo database, solo use databasename dalla riga di comando di mongo o mongo databasename dalla shell del sistema operativo.
  2. use [database_name] e poi show collections
  3. L'oggetto db è la vostra impugnatura principale alla base di dati attualmente selezionato sulla linea mongo commmand. La riga di comando è in realtà solo una riga di comando di Javascript, e sono esposti vari oggetti e funzioni specifici di mongodb che ti permettono di fare cose. Prova help() per un elenco completo.
+0

Grazie per la risposta. Che dire del database "test", perché appare sempre come predefinito quando si creano nuove collezioni? – Mark

+0

mongo crea implicitamente dei database quando si passa a loro. L'accensione del client della riga di comando senza un argomento utilizza automaticamente (e crea, se non è già presente) il database 'test'. Puoi evitarlo invocando sempre mongo con un parametro (il DB a cui vuoi connetterti). –