2010-08-16 9 views
11

Soy un principiante con MongoDB y he algunas preguntas:preguntas de algunos principiantes sobre MongoDB

  1. Cuando estoy conectado a Mongo, y ejecuto show dbs veo 2 bases de datos: admin y local. ¿Cuál es su papel? Luego, si ejecuto un comando de inserción como db.foo.insert({"value":"mongo"}), aparece la base de datos test. ¿Por qué? ¿Cómo puedo especificar un nombre personalizado para una base de datos?

  2. Con show dbs consigo las bases de datos (de alguna manera como show databases en SQL), ¿cómo puedo luego una lista de las colecciones dentro de una base de datos (yo usaría show tables en SQL)?

  3. Al ejecutar un comando, el tutorial MongoDB siempre utiliza el objeto db. ¿Es el objeto principal (una especie de objeto de "conexión") el que debe usarse para ejecutar comandos o es algo más?

Gracias!

Respuesta

16
  1. admin y local contienen varios ajustes locales al servidor, al igual que los usuarios que están autenticados para conectar. Bajo el uso de principiante, no debería tener que preocuparse por ellos en absoluto. Por defecto, se conecta a una base de datos llamada test. Para conectarse a una nueva base de datos, solo use databasename desde la línea de comandos de mongo, o mongo databasename desde el shell de su sistema operativo.
  2. use [database_name] y luego show collections
  3. El objeto db es su mango de la raíz a la base de datos seleccionada en ese momento en la línea de mongo commmand. La línea de comando es realmente solo una línea de comando de Javascript, y hay varios objetos y funciones específicos de mongodb expuestos que te permiten hacer cosas. Pruebe help() para obtener una lista completa.
+0

Gracias por la respuesta. ¿Qué pasa con la base de datos "prueba", por qué siempre aparece como predeterminada al crear nuevas colecciones? – Mark

+0

mongo crea bases de datos implícitamente al cambiar a ellas. Al encender el cliente de línea de comando sin un argumento se usa automáticamente (y crea, si no está ya allí) la base de datos 'test'. Puede evitarlo siempre invocando mongo con un parámetro (el DB al que desea conectarse). –