Para instalar MongoDB desde la terminal (en Mac o Linux) , ejecutamos la instrucción:
sudoapt-getinstall mongodb
Más detalles sobre el proceso de instalación aquí.
Para iniciar el servidor de base de datos MongoDB debemos ejecutar en la terminal:
mongod --dbpath <ubicación de la carpeta / bd>
Para iniciar el shell de MongoDB, que es el manejador de datos a través de líneas de comando vía terminal, y poder empezar a ejecutar operaciones sobre la base de datos, introducimos el siguiente comando en la terminal:
mongo
Ya dentro del shell podemos ejecutar algunos comandos propios de MongoDB:
show dbs o show databases: para listar las bases de datos disponibles en el servidor.
use <nombre_bd>: accede a una base de datos para comenzar a usarla. Si la base de datos no existe se crea y luego se accede a ella.
db.<acción>: Al momento de hacer switch hacia la base de datos indicada, quedará vinculado un elemento llamado db con el que vamos a poder realizar las operaciones sobre la base de datos escogida.
show collections: para listar las colecciones disponibles en la base de datos actual.
Algunas de las operaciones que podemos ejecutar con db son:
db.createCollection(“<nombre colección>”): crea una nueva colección (tabla) en la base de datos.
db.<colección>.insert(<objeto json>): crea un nuevo documento (registro) en la colección indicada.
db.<colección>.find(): devuelve el contenido de una colección.
Es importante notar que aún cuando no indiquemos un valor para la propiedad _id al insertar documentos en las colecciones, MongoDB la incluirá automáticamente utilizando para ello la función ObjectId(""<hash>""), ya que la presencia de esta <llave : valor> es requerida para todos los documentos.
Para salir del shell basta con escribir exit y dar Enter.
Y para detener el servidor, le damos Ctrl + C en la misma terminal donde está ejecutándose.
En windows luego de instalar mongo y en caso del siguiente error: mongodb is not recognized as an internal or external command operable program or batch file
SOLUCION:
Busque la carpeta de instalación de MongoDb y copie la ruta (por ejemplo: C: \ Archivos de programa \ MongoDB \ bin) Haga clic con el botón derecho en Mi PC> Propiedades> Configuración avanzada del sistema> Variables de entorno> Variables de usuario> Busque “PATH”> Editar> Pegue la ruta a su carpeta bin Mongodb al final> Reinicie su terminal
Muchas gracias, excelente explicación, bien resumida.
¡Funciona tu recomendación!
Para los usuarios de windows, deben agregar su carpeta bin al path para que al ejecutar los comandos mongod y mongo en su cmd los reconozca. En el siguiente enlace pueden encontrar una guía de como realizar esto.
Como me conecto si cuando instale mongo le defini usuario y contraseña?
Hola! seguramente tu caso es muy parecido a alguno expuesto aquí: how-to-secure-mongodb-with-username-and-password
Para nosotros los marginados de Windows, les dejo un video en donde se nos muestra paso a paso como instalar MongoDB en nuestras maquienas.
Recuerden que primero deben de iniciar el servidor en un cmd(mongod)
Y en otra consola iniciar el shell(mongo).
Perfecto también utilizaremos Robo 3t, Robo mongo y Mongoose en el server, ya lo tengo instalado lo utilizo en unos ejemplos en Rest Server con Express, tengo una base de datos de pruebas en MLAB.
Ubuntu 18.04:
En caso de obtener el siguiente error al ejecutar mongod: Failed to set up listener: SocketException: Address already in use
Un servicio ya esta usando el puerto 27017, probablemente mongodb. Deben parar el servicio usando el comando: service mongodb stop
Hola ! quisiera preguntar que tan buena practica seria hacer esto:
const coll = db.my_first_collectioncoll.find()
a mi parecer seria una forma de ahorrar tiempo y no tener que escribir siempre lo mismo ! pero que opinan?
Si tu código es corto y solo interactuas con una colección no hay problema pero si tu código es muy largo o interactuas entre varias colecciones puedes llegar a tener problemas ya que puedes estar consultando o insertando datos en la colección equivocada, es mi punto de vista, siempre entre mas explicito seas mucho mejor, y la diferencia en cuanto a la cantidad de caracteres puede no valer la pena.
Tambien pueden usar docker:
$ docker run --name mongoDb -p 27017:27017-d mongo
Existe alguna diferencia entre insert() y save() a la hora de guardar los datos en la db de mongo ?
Si no se pasa un id funcionan igual.
Pero si se le pasa un id:
save va actualizar el document en caso de que ya exista ese id.
insert va a regresar un error "duplicate key error" en caso de que ya exista ese id.
Ambos van a insertar el documento en caso de que no exista previamente ese id.