MongoDB

MongoDB es una base de datos NoSQL muy popular que utiliza JSON para almacenar y recuperar datos. La flexibilidad y velocidad que ofrece en algunos casos de uso ha llevado a un aumento constante a su adopción por desarrolladores, especialmente en combinación con Node.js.

MongoDB 3.2 está disponible actualmente en Simple Hosting y puede utilizarse en todos los idiomas.

Puede crear tantas bases de datos y usuarios como desee en su instancia. Solo está limitado por el tamaño del disco, el que se puede aumentar en cualquier momento hasta 1 TB.

El servicio de base de datos MongoDB puede ser administrado desde la consola o desde una interfaz Web. Este artículo describe cómo acceder, crear y administrar bases de datos MongoDB en Simple Hosting.

Conectándose a su base de datos

El servicio de base de datos MongoDB está disponible en localhost en el puerto por defecto 27017. Solo se puede acceder a ella desde el interior de la instancia y no desde el mundo exterior. No es necesario un nombre de usuario ni una contraseña para probar rápidamente su conexión y realizar tareas de administración.

Configuración de conexión predeterminada:

Host: localhost
Port: 27017
User: <none>
Password: <none>
Database: <any>

El URL para conectarse a una base de datos llamada myapp-production se vería así:

mongodb://localhost:27017/myapp-production

Nota

Le recomendamos crear nuevos usuarios con credenciales sólidas para su aplicación. A continuación encontrará instrucciones sobre cómo realizar tareas de administración.

Gestión de su base de datos con Adminer

Puede acceder a su base de datos de Simple Hosting primero iniciando una sesión en el Panel de Control de su instancia, y luego haciendo clic en el enlace Adminer en la sección MongoDB del Panel de Control.

Crear una base de datos

Para crear una base de datos desde Adminer, haga clic en el enlace Crear base de datos. En la página siguiente, introduzca un nombre para la base de datos y haga clic en Save.

Exportar una base de datos

Adminer no soporta la exportación de bases de datos. Por favor, consulte la sección «Gestión de su base de datos desde la línea de comando» para conocer los pasos a seguir para exportar una base de datos MongoDB.

Importar una base de datos

Adminer no soporta la importación de bases de datos. Por favor, consulte la sección «Gestión de su base de datos desde la línea de comando» para conocer los pasos a seguir para importar una base de datos MongoDB.

Gestión de la base de datos desde la línea de comando

Para acceder a su base de datos MongoDB por línea de comando, primero debe iniciar una sesión en su instancia a través de la Consola de Emergencia.

Tenga en cuenta que la consola se desconectará automáticamente después de unos minutos de inactividad. Si esto sucede, puede iniciar una nueva conexión SSH sin necesidad de reactivar la consola.

Acceder a la base de datos

Lance el shell mongo con el siguiente comando:

$ mongo
MongoDB shell version: 2.4.8
connecting to: test
Welcome to the MongoDB shell.
>

Cambie a la base de datos en la que desea realizar la operación con el comando use:

> use database_name
switched to db database_name

Importar / Exportar una base de datos

Para exportar una base de datos desde la consola SSH, ejecute el comando mongodump y especifique la base de datos/colección que desea exportar, y un directorio con permisos de escritura para exportar el archivo:

# Exportar toda la base de datos
$ mongodump --db database_name \
    --out ~/tmp/mongodump-yyyy-mm-dd

# Exportar una colección dentro de una base de datos
$ mongodump --collection collection_name \
    --db database_name \
    --out ~/tmp/mongodump-yyyy-mm-dd

Nota

Sólo se puede escribir en el directorio /srv/data/tmp, con la excepción de los hosts virtuales. Por lo tanto, recomendamos crear un directorio específico para las exportaciones de MongoDB con el fin de reunirlos en la misma ubicación.

Para importar una base de datos desde la consola SSH, ejecute el comando mongoimport y especifique a qué base de datos/colección desea importar los datos, junto con el archivo que contiene los datos a importar:

$ mongoimport --db database_name \
    --collection collection_name \
    --file collection.json

Habilitar la búsqueda de texto completo

Para habilitar la búsqueda de texto completo es necesario establecer un parámetro administrativo en la base de datos de administración predeterminada.

Desde el shell mongo se pueden listar todos los parámetros administrativos con los siguientes comandos:

> use admin
switched to db admin
> db.runCommand( { getParameter: '*' } )
{
    "enableLocalhostAuthBypass" : true,
    "enableTestCommands" : 0,
    "logLevel" : 0,
    "logUserIds" : false,
    "notablescan" : false,
    "quiet" : false,
    "releaseConnectionsAfterResponse" : false,
    "replApplyBatchSize" : 1,
    "replIndexPrefetch" : "uninitialized",
    "supportCompatibilityFormPrivilegeDocuments" : true,
    "syncdelay" : 60,
    "textSearchEnabled" : false,
    "ttlMonitorEnabled" : true,
    "ok" : 1
}

Luego puede habilitar la búsqueda de texto completo estableciendo el valor de textSearchEnabled a true:

> db.runCommand ( { setParameter: 1, textSearchEnabled: true } )
{ "was" : false, "ok" : 1 }