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?

usuario3330705
fuente
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
posible duplicado de ¿Cómo instala MongoDb por Meteor?
BuZZ-dEE
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.

Serkan Durusoy
fuente
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.

imal hasaranga perera
fuente
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í

J4cK
fuente
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.

Nate
fuente
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

Chacal
fuente
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í

Parth mehta
fuente
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

Sasikanth
fuente
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.

Brunno Vodola Martins
fuente