MongoDB es el sistema de bases de datos NoSQL que está de moda. Dos curiosidades, la primera es que «mongo» proviene de la palabra inglesa «humongous» que significa «enorme» y la otra es que el «No» de «NoSQL«, no se trata de una negación «no«, sino que en realidad son las siglas de «Not Only» que implica que MongoDB no es sólo SQL.
Ahora que ya sabemos estos pequeños detalles, vamos a ver cómo instalarlo en Windows.
Como era de esperar, lo primero que tenemos que hacer para instalar MongoDB es ir a su página de oficial, que es mongoDB.org, y desde ahí podemos navegar a la zona de descarga.
Aquí podemos tener un pequeño dilema con el desplegable que da a elegir la versión de Windows. Si lo tienes claro, no te preocupes por los detalles de abajo y sigue con los siguientes pasos, pero si no sabes muy bien qué elegir, voy a darte algunas pistas cogidas de la propia página de ayuda para instalar en Windows MongoDB.
- Windows 64-bit 2008 R2+: Funciona solamente para Windows Server 2008 y de Windows 7 en adelante (siempre 64-bit). Aprovecha las últimas mejoras de la plataforma Windows.
- Windows 64-bit 2008 R2+ legacy: Funciona con Windows Server 2008 y de Windows Vista en adelante (siempre 64-bit).
- Windows 64-bit legacy: Funciona en Windows Server 2003, Windows Server 2008 y de Windows Vista en adelante (siempre 64-bit).
- Windows 32-bit: Si tienes un ordenador de 32-bit estás obligado a usar este. Pero solamente podrás tener bases de datos de 2Gb como mucho.
Estas opciones están ordenadas de mejor a peor, así que lo ideal es que cojas la primera que se concuerde con tus requisitos. Si no sabes cuántos bits tiene tu ordenador o qué versión de Windows estás usando, puedes mirarlo haciendo click derecho en «Equipo» y pulsando en «Propiedades«, ahí viene todo. O si quieres usar la consola, puedes usar estos comandos:
wmic os get caption wmic os get osarchitecture
Bien. Una vez elegida la versión, podemos proceder a la descarga.
Ejecuta el instalador que acabas de descargar, acepta la licencia de uso (bueno, leetela primero) y cuando te pregunte si quieres la versión «complete» o «custom», puedes elegir la «complete» para no complicarte, o puedes elegir la «custom» para ver qué va a instalarse, aunque básicamente esto es lo que verás:

Pantalla para elegir qué quieres instalar «custom install»
Después de unos segundos, el instalador nos avisará de que ya está todo listo. Pero como somos muy desconfiados, vamos a ver si es verdad. Mmmm… en el menú de inicio no hay nada nuevo, y en el escritorio tampoco hay ni rastro, qué raro.
Uy, se me olvidaba, antes de seguir, necesitamos crear en el disco duro la carpeta «c:/data/db» que es imprescindible para poder guardar las bases de datos (esa es la ruta por defecto, pero al final del artículo te enseñaré cómo cambiarla si quieres). Puedes hacerlo desde el explorador de carpetas de Windows o usando el comando MSDOS:
mkdir c:\data\db
Vamos a seguir con la comprobación de la instalación. Ve a la carpeta de instalación a ver qué hay. Vamos a «Program Files«, buscamos «MongoDB» y entramos en todas las carpetas que veamos hasta que lleguemos a una que tiene un montón de archivos exe. La ruta completa será probablemente:
C:\Program Files\MongoDB\Server\3.0\bin
Pues esos archivos son todo lo que hay, no se han instalado accesos directos, ni cosas en el registro, ni servicios, ni siquiera se ha metido esa carpeta en el PATH para poder ejecutar los programas desde cualquier sitio. Bueno, pues vamos a hacer un acceso directo por lo menos.
El archivo que tenemos que ejecutar para poner en marcha el servidor de la base de datos de MongoDB es el archivo «mongod.exe«, así que vamos a crear un acceso directo en el escritorio (o donde tú prefieras), y así podemos arrancar cuando queramos. Para esto te recuerdo que tienes que hacer click derecho en el archivo y seleccionar «Copiar«, luego te vas a donde quieras el acceso directo, pulsas click derecho y «Pegar acceso directo«.
Si ejecutamos el archivo, veremos que aparece una ventana de MSDOS con montón de letras que no debemos cerrar mientras estemos usando la base de datos (esto es un poco incordio, así que luego te comento una forma mejor usando un servicio de Windows).
Comprobación final. Hemos instalado y tenemos el servidor en marcha, vamos a ver si es verdad. Abre el navegador y carga esta dirección: (el 27017 es el puerto con el que trabajaremos)
http://localhost:27017/
Si te aparece un mensaje como: «It looks like you are trying to access MongoDB over HTTP on the native driver port» , que podría traducirse como «parece que estás intentando acceder a MongoDB con HTTP a través de su puerto por defecto«, es que todo está perfecto y ya puedes empezar a usarlo.
A continuación, si eres un poco manitas y no te da miedo, voy a enseñarte cómo se puede instalar este servidor de bases de datos como un servicio de Windows, así lo tendremos en marcha con sólo encender el ordenador, además de cómo cambiar la carpeta donde se guardan las bases de datos.
Pues lo dicho, ahora que hemos cumplido con el objetivo fundamental, que era poder poner en marcha el servidor, vamos a complicar un poco las cosas, para poder tenerlo todo organizado como más nos guste.
Lo primero que hay que decir es que la carpeta de instalación podíamos haberla cambiado durante el proceso de instalación. Para eso, sólo había que seleccionar la instalación «custom» y después pulsar el botón «browse» para seleccionar el sitio. Pongamos como ejemplo que elegimos una carpeta más sencilla (aunque puedes coger la tú quieras), cuando nos pregunte qué carpeta queremos, escribimos:
c:\mongodb
Después de instalar, dentro de «mongodb» creamos dos carpetas nuevas, una que se llame «data» y otra que se llame «log«. Y luego dentro de «data» crea otra que se llame «db«. Nos quedará algo así:
-mongodb |-bin |-log |-data |-db
La carpeta de «data» y «db» son las mismas que teníamos antes, pero ahora las hemos guardado dentro de MongoDB. La carpeta «log» veremos luego para qué servirá.
Ahora, también dentro de «mongodb» vamos a crear los siguientes archivos. Por ahora simplemente créalos y luego vemos para qué sirve cada uno y cómo se deben usar.
Archivo arranque-manual.bat:
C:\mongodb\bin\mongod.exe --dbpath C:\mongodb\data
Archivo mongod.cfg:
logpath=C:\mongodb\log\mongod.log
dbpath=C:\mongodb\data
Archivo instalar-servicio.bat:
C:\mongodb\bin\mongod.exe --config C:\mongodb\mongod.cfg --install
Archivo desinstalar-servicio.bat:
C:\mongodb\bin\mongod.exe --remove
Archivo iniciar-servicio.bat:
net start MongoDB
Archivo detener-servicio.bat:
net stop MongoDB
El primer archivo «arranque-manual» funciona como en la instalación básica. Si quieres poner en marcha el servidor, lo ejecutas y la ventana se queda abierta mientras esté funcionando. Esto no mejora nada, pero bueno, quería poner todas las posibilidades. La opción «–dbpath» sirve para indicar dónde está la carpeta «data«, si no se pone se tomará la carpeta por defecto «c:\data» como en el ejemplo básico.
Los archivos «instalar-servicio» y «desinstalar-servicio» sirven exactamente para lo que dicen sus nombres. Cuando se instala un servicio en Windows, éste se pone siempre en marcha automáticamente cuando se enciende el ordenador y la configuración de cómo debe ejecutarse se guarda en un archivo de configuración, que en nuestro caso es el archivo «mongod.cfg«. Además en la configuración hemos añadido una línea «logpath» para que cualquier problema que pueda surgir durante la ejecución, quede guardado en el archivo de log que habrá en la carpeta «log«.
Por último, aunque el servidor se inicia automáticamente cuando se enciende el ordenador, y se detiene cuando se apaga , quizás queramos detenerlo o iniciarlo manualmente en algún momento, y para eso están «iniciar-servicio» y «detener-servicio«. Estas solamente funcionan si el servicio está instalado, claro. Si estás familiarizado con los servicios, sabrás que también puede hacerse desde la configuración de Windows si hacemos click derecho en Equipo > Administrar > Servicios y aplicaciones > Servicios y buscamos «MongoDB«.
Con todo esto, tendremos en una sola carpeta todo lo relacionado con MongoDB, y unos cómodos archivos para poder arrancar y detener de la forma que más nos interese.
Nota: es posible que para poder instalar/desinstalar servicios e iniciarlos/detenerlos necesites tener permisos de administrador.