Cómo conectar clientes mongodb a Meteor MongoDB local


78

¿Cómo puedo conectar Robomongo (o cualquier otro cliente mongodb) a la instancia mongodb creada por mi aplicación Meteor local?


Hola @ user3330705, si crees que la respuesta es más que útil y que en realidad es completa / mejor, puedes marcarla como la respuesta aceptada para que las personas que lean esta publicación sepan que funciona.
Serkan Durusoy


Estoy en OS X, usé robomongo: acabo de usar un localhostpuerto 3001sin autenticación para conectarme.
Aditya MP

Respuestas:


122

Asegúrese de que Meteor se esté ejecutando en localhost. Abra una ventana de terminal y ejecute el meteorcomando. Comenzará a ejecutarse en localhost: 3000 si no ha cambiado al puerto.

Mientras se está ejecutando, abra una ventana de terminal separada y ejecute el meteor mongocomando. Esto abrirá un shell MongoDB y le dirá a qué puerto se está conectando. Normalmente es 3001 a partir de la versión 0.7.1.1 o 3002 si es anterior. Dirá algo como127.0.0.1:3001/meteor

Vaya a Robomongo (o su software cliente favorito de mongodb) y cree una nueva conexión, asegurándose de cambiar la dirección de conexión a localhost y el número de puerto dado. No es necesario definir adicionalmente / meteor si su cliente no insiste en una base de datos predeterminada.

Además, como se indica en https://stackoverflow.com/a/22023284/1064151, algunos controladores pueden necesitar finales de línea específicos, delimitadores u otro flujo de caracteres. Por ejemplo, ObjCMongoDB , un controlador basado en C, quiere que la URL esté 127.0.0.1:3001/con ese extra /al final, o no funcionará. Así que asegúrese de consultar la documentación de su controlador / cliente.


Estoy intentando lo mismo. Estoy usando un controlador mongoDB para escribir en mi meteorito mongoDB. Antes usaba 127.0.0.1:3002como decías arriba. Ahora entiendo que el puerto ha cambiado a, :3001pero esa dirección todavía no me funciona. ¿También cambió el nombre de la base de datos? Para ser más claro, una vez que me conecté a mi host local 127.0.0.1:3002, también necesitaba el nombre de mi base de datos, es decir meteor.collection. ¿Esto también cambió con la actualización?
Nate

1
Lo averigué. Se agregó otra respuesta para un controlador mongoDB específico.
Nate

1
@Nate Acabo de actualizar la respuesta para reflejar esa información. Gracias por la anotación.
Serkan Durusoy

Es bueno saber sobre ObjCMongodb y para el cliente de Robomongo, no es necesario dar /, creo que 3001 es suficiente, lo probé y funciona bien para mí
Sasikanth

Esto no me ha funcionado. Estoy en Windows usando Robomongo. Mi archivo Hosts contiene 192.168.56.111 my-vm y puedo conectarme a mi aplicación meteor usando my-vm: 3000 , así que sé que la aplicación se está ejecutando. Cuando intento conectarme usando my-vm: 3001 no puedo establecer una conexión, ¿alguna idea?
JoeTidee

34

La forma más fácil de obtener los detalles de la configuración actual es usar el siguiente comando

meteor mongo -U

Esto te dará la cadena de conexión.


31

Desde la terminal, ejecute el siguiente comando

meteor mongo -U

Eso le mostrará la dirección IP del host local y en qué puerto se está ejecutando su aplicación. Ahora ejecute Robomongo y configure los siguientes dos campos como lo obtuvo al ejecutar el comando anterior

ingrese la descripción de la imagen aquí


Conectado, pero no puede ver las colecciones. ¿Alguna idea?
Shemeer M Ali

El mismo problema, conectado pero sin colecciones, ¿lo resolvió?
Adam Moisa

1

Estoy usando ObjCMongoDB , un controlador mongoDB basado en C. Con la nueva actualización en lugar de usar la anterior 127.0.0.1:3002para conectarme a mi localhost ejecutando mongodb de meteor, ahora necesito usar 127.0.0.1:3001/con el nombre de la colección aún siendo meteor.collection. El cambio importante es el puerto de :3002a :3001/. Recuerde /que es fundamental para la conexión.


1

Esto funcionó para mí, antes de conectar, asegúrese de que el meteorito esté funcionando. Estoy usando Robomongo para conectarme. Cree una nueva conexión y agregue la dirección como: localhost; puerto como: 3001


1

Utilice la tunelización SSH con el siguiente comando:

ssh -L 3001:localhost:3001 user-name@host

Reenvía las conexiones desde su puerto local 3001 a localhost: 3001 en su servidor. Ahora simplemente podemos conectarnos a nuestra base de datos.

Crear una conexión Robomongo en su localhost y pulsa prueba (Fuera de dos cheques, la autenticación puede fallar):

ingrese la descripción de la imagen aquí


0

También estoy usando Robomongo y antes de la última actualización V0.7.1, usé el puerto 3002 para conectarme, como sugiere @Serkan Durusoy para la última actualización, está funcionando para el puerto 3001


0

La respuesta de @ imal365 es perfecta. Solo para agregar mi visión al respecto:

Me di cuenta de que el número de puerto predeterminado de Meteor Mongo es el número de puerto de la aplicación con 1 agregado (a partir de la versión 0.7.1.1). En mi caso, estaba ejecutando Meteor en el puerto 1337con el comando meteor --port 1337y mi puerto Meteor Mongo era 1338.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.