No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Conect谩ndonos usando mongosh

9/30
Recursos

Aportes 16

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

En tu entorno local con docker instalado en tu maquina tambi茅n te puedes conectar de la siguiente manera, sin le necesidad de entrar al bash primero.

docker compose exec mongodb mongosh "mongodb://nombreUsuario:contrase帽a@localhost:27017/?authMechanism=DEFAULT&tls=false"

Comando para conectarnos al (contenedor) servicio existente de Mongo con Docker

docker-compose exec mongodb bash

Comando para conectarnos con mongosh

mongosh "mongodb+srv://usuario:[email protected]/test"

Comando para ver bases de datos disponibles

show dbs

Comando para ver colecciones disponibles

show collections

Comando para usar una BD especifica

use("platzi_store")

Comando para usar una coleccion con Find

db.productos.find()

Para los que quieren conectarse a mongo atlas

Para desconectarse de la base de datos local o cualquiera utilizan:

.exit

Y luego vuelven a introducir el comando:

mongosh "[ Atlas url]" 

Para conectarse a Mongo usando mongoSH o la consola de comandos se debe hacer lo siguiente:

Cabe resaltar que donde va el nombre del servicio es el nombre configurado en el archivo .yml

  1. Correr el servicio en docker con el comando docker-compose up -d <NombreDelServicion>
  2. Ejecutar el comando para conectarse al servicio que esta corriendo: docker-compose exec <NombreDelServicion> bash
  3. Ya en la consola para conectarse con credenciales a la base de datos se usa el comando mongosh y el connection string:
    mongosh 鈥渕ongodb://<username>:<password>@localhost:27017/?authMechanism=DEFAULT&tls=false鈥

    Cabe mencionar que el connection string debe estar entre comillas.
  4. Aqui adentro se pueden ejecutar los comandos para acceder a los documentos, colecciones, buscar, etc.

Con el comando exit salen de la db y vuelven a la consola normal

Tengo un comentario en el video anterior:
Donde usaba un host 27018
Por alguna raz贸n cuando uso el c贸digo en Ubuntu en este orden me fallo la conexi贸n:

Execute a command in a running container
ryuluis@DESKTOP-FLVVSO2:~/project-mongodb-alvarez$ sudo docker-compose exec mongodb bash
root@ad925d7738d5:/# mongosh "mongodb://root:root123@localhost:27018/?authMechanism=DEFAULT"    ------> Destaquen!
Current Mongosh Log ID: 64836d4a0e912db801282a3a
Connecting to:          mongodb://<credentials>@localhost:27018/?authMechanism=DEFAULT&directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.9.0
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27018

Pero le cambie el codigo de puerto al normal que es 27017 y me logro funcionar con exito!!!


root@ad925d7738d5:/# mongosh "mongodb://root:root123@localhost:27017/?authMechanism=DEFAULT"
Current Mongosh Log ID: 64836d5700df216ffd188ffb
Connecting to:          mongodb://<credentials>@localhost:27017/?authMechanism=DEFAULT&directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.9.0
Using MongoDB:          5.0.18
Using Mongosh:          1.9.0

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

------
   The server generated these startup warnings when booting
   2023-06-09T18:08:05.366+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
   2023-06-09T18:08:06.287+00:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'

En caso de que marque error cuando haces la conexi贸n a mongosh. Es decir, que no te aparezca 鈥淭est鈥 y que cuando presionas una tecla detiene el servicio.

Puedes hacer la conexi贸n de la siguiente manera:

mongosh mongodb://admin:toor@localhost:27017/

Es decir, acortas la url 煤nicamente hasta el puerto. Con esto solucione mi problema.

si les sale error al conectar con mongosh, pueden hacerlo tambien colocando mongo "string de conexion" `mongo "mongodb://root:root123@localhost:27017/?tls=false"` Nota:uso mongodb 4.4.18
generar cualquiera de las colecciones es la misma tarea! Muy cool esta clase

Me doy cuenta que en Mongo estas dos instrucciones tienen el mismo significado.

En Windows 10 me tira el siguiente error al ejecutar el comando:

docker-compose exec mongodb bash

El error dice :

the input device is not a TTY.  If you are using mintty, try prefixing the command with winpty

Lo solucione ejecutando el comando:

winpty docker-compose exec mongodb bash

Para los que tienen problemas al usar el comando mongosh sigan el siguiente tutorial:

Si no te funciona con docker-compose utliza docker:

docker exec -it <TU_CONTAINER_NAME> mongosh <"TU_CONNECTIO_ STRING O URI">

Al final docker-compose crea es un contenedor y con este comando puedes abrir directamente mongosh a tu base de datos.

Asegurate de tener instalado mongo comunity en tu PC y mongosh, para que pueda ayudarte en tu entorno local, tambien a帽ade mongo a tu path.

que buen curso este era el curso que estaba esperando Gracias Nico

Aunque usar mongosh puede parece lo m谩s hacker al momento de consultar la base de datos, no es lo mas c贸modo