2010-08-29 28 views
9

Im lectura de la guía mongodb, pero no me llevo esto:¿Conectar a mongodb a través del navegador?

mongodb://fred:[email protected] 

Se dice que puedo conectar con el mongodb través del navegador web.

He intentado esto, pero no funciona. Safari/Firefox no puede reconocer el protocolo mongodb.

¿Y por qué debería hacerlo?

¿El servidor mongodb no es solo para conectarse a través de la línea de comandos?

¿Y cuál es la diferencia entre el puerto 27017 y el 28017?

¿Debo conectarme a través del protocolo http o mongodb?

Respuesta

26

Cuando inicia mongod (el daemon MongoDB), comienza a escuchar en dos puertos por defecto.

  1. : el puerto por defecto visitada por los diversos controladores MongoDB.
  2. : un puerto que maneja las solicitudes HTTP y proporciona un control general.

Lo que ha enumerado mongodb://fred:[email protected] representa en realidad esto: mongodb://fred:[email protected]:27017 y este es el protocolo de acceso para los conductores MongoDB.

La otra "cosa" que está viendo es el puerto 28017. Esto es (de forma predeterminada) simplemente una descripción de lo que está sucediendo con la instancia mongod en ese servidor. Las solicitudes realizadas desde un navegador web a este puerto mostrarán una salida HTML de la descripción general del servidor.

Si se inicia mongod con un número diferente de puerto (es decir .: 7777), el "seguimiento" del puerto siempre habrá 1.000 más alta (es decir .: 8777).

Si desea algunas características avanzadas como la capacidad de consultar a través del navegador web, puede iniciar mongod con el interruptor --rest. A continuación, podrá ejecutar ciertas consultas con una simple solicitud HTTP get link text (http://localhost:8777/mydb/mycollection/?filter_a=1).

Si está utilizando controladores MongoDB específicos del idioma (como la mayoría de las personas lo harán). Entonces verá que tendrá "cadenas de conexión" del formulario mongodb://user:[email protected]:port/. Estos tienen un propósito similar a las cadenas de conexión habituales a las que está acostumbrado para otros productos de base de datos.

+0

¿se recomienda utilizar un controlador MongoDB específico del idioma? Quiero desarrollar una interfaz para mongoDB en un nuevo idioma.Tengo 2 opciones: ¿construir sobre una API existente como C o C++, o crear desde cero usando curl y servidor web? – RockScience

+1

Tenga en cuenta que hay controladores oficiales (http://docs.mongodb.org/ecosystem/drivers/) y controladores no oficiales (http://docs.mongodb.org/ecosystem/drivers/community-supported-drivers/). Hay un controlador MongoDB para todos los idiomas principales de los últimos 10 años, así que a menos que esté escribiendo esto en COBOL o APL, debe estar cubierto. Y sí, lo recomiendo porque escribir un controlador es mucho trabajo detallado con una alta probabilidad de fracaso. –

+1

@RockScience, agregaría una excepción para "hacer algo muy específico". Si solo necesita un pequeño subconjunto de características de MongoDB, entonces tal vez pueda obtener un impulso de rendimiento de los controladores "auto-escritos". Pero si ese es su objetivo, probablemente pueda obtener un aumento de rendimiento utilizando algo que no sea MongoDB. –

2

Incremente en mil (28017), y use HTTP, no mongodb.

Tenga en cuenta que esto lo "conectará" al proceso de mongodb, pero no es como phpMyAdmin ni nada.

+0

De la guía "mongodb: // localhost, localhost: 27018, localhost: 27019". ¿Por qué están usando el protocolo mongodb? –

+0

@ajsie: No tengo idea, pero para la interfaz web es incorrecta. –

Cuestiones relacionadas