Docs Menu
Docs Home
/ /

Crea un cliente de MongoDB

Para conectarte a una implementación de MongoDB, necesitas dos cosas:

  • URI de conexión, también conocido como cadena de conexión, que le indica al controlador Ruby a qué implementación de MongoDB conectarse.

  • ObjetoMongo::Client, que crea la conexión a la implementación de MongoDB y le permite realizar operaciones en ella.

También puede utilizar cualquiera de estos componentes para personalizar la forma en que se comporta el controlador Ruby mientras está conectado a MongoDB.

Esta guía le muestra cómo crear una cadena de conexión y utilizar una Mongo::Client objeto para conectarse a MongoDB.

Una cadena de conexión estándar incluye los siguientes componentes:

Componente
Descripción

mongodb://

Requerido. Un prefijo que identifica esto como un string en el formato de conexión estándar.

db_username:db_password

Opcional. Credenciales de autenticación. Si las incluye, el cliente autentica al usuario con la base de datos especificada en authSource. Para obtener más información sobre la opción de conexión authSource, consulte Guía demecanismos de autenticación.

hostname[:port]

Obligatorio. El nombre de host y el número de puerto (opcional) donde se ejecuta MongoDB. Si no incluye el número de puerto, el controlador usa el puerto predeterminado, 27017.

/defaultauthdb

Opcional. La base de datos de autenticación que se debe usar si la cadena de conexión incluye las credenciales de autenticación db_username:db_password@ pero no la opción authSource. Si no incluyes este componente, el cliente autentica al usuario contra la base de datos admin.

?<options>

Opcional. Un string del query que especifica opciones específicas de conexión como pares <name>=<value>. Consulta Opciones de conexión para obtener una descripción completa de estas opciones.

Para obtener más información sobre cómo crear una cadena de conexión, consulte Cadenas de conexión en la documentación del servidor MongoDB.

Para crear una conexión a MongoDB, construya una instancia de la clase Mongo::Client y pase la URI de conexión al constructor. El siguiente ejemplo construye un objeto Mongo::Client para conectarse a una implementación de MongoDB en el puerto 27017 de localhost:

client = Mongo::Client.new("mongodb://localhost:27017")

Como alternativa, puede pasar una matriz de cadenas, cada una con un nombre de host y un número de puerto, al constructor Mongo::Client. El siguiente ejemplo muestra cómo usar esta sintaxis para conectarse al puerto 27017 de localhost:

client = Mongo::Client.new(['localhost:27017'])

Tip

Reutilizar el cliente

Debido a que cada objeto Mongo::Client representa un grupo de conexiones a la base de datos, la mayoría de las aplicaciones requiere solo una única instancia de Mongo::Client, incluso a través de múltiples solicitudes.

Cuando finalices el uso de un objeto Mongo::Client, llama al método close del objeto, como se muestra en el siguiente ejemplo. Esto libera todos los recursos asociados con el objeto.

client.close

Como alternativa, puede usar la sintaxis de bloque de Ruby para crear un objeto Mongo::Client. Al usar esta sintaxis, el cliente se cierra automáticamente una vez finalizada la ejecución del bloque.

El siguiente ejemplo muestra cómo utilizar la sintaxis de bloque para crear un objeto Mongo::Client:

Mongo::Client.new("mongodb://localhost:27017") do |client|
# work with the client
end

Para obtener más información sobre cómo crear un Mongo::Client objeto con el controlador Ruby, consulte la documentación de API para Mongo::Client.

Volver

Empezar

En esta página