Docs Menu
Docs Home
/ /

Crea un MongoClient

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

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

  • Un objeto MongoClient, que crea la conexión y le permite realizar operaciones en la implementación de MongoDB.

También puedes utilizar MongoClientSettings para personalizar la forma en que se comporta el controlador Scala mientras está conectado a MongoDB.

Esta guía muestra cómo crear una cadena de conexión y usar un objeto MongoClient para realizar la conexión 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.

username: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.

host[:port]

Requerido. El host y el número de puerto opcional donde se ejecuta MongoDB. Si no incluyes el número de puerto, el controlador utiliza el puerto por defecto, 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 username: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 de la query que especifica opciones específicas de conexión como pares <name>=<value>.

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

Para conectarse a una implementación de MongoDB en Atlas, primero debe crear un cliente.

Puede pasar una URI de conexión como una cadena al método MongoClient.create() para conectarse a una instancia de MongoDB:

// Replace the placeholder with your Atlas connection string
val connectionString = "<connection string>"
// Create a new client and connect to the server
val mongoClient = MongoClient(connectionString)
val database = mongoClient.getDatabase("sample_mflix")

También puede crear un cliente con las configuraciones deseadas pasando un objeto MongoClientSettings a un objeto MongoClient.

Para instanciar un objeto MongoClientSettings, llame al método builder(), luego encadene el método applyConnectionString() y pase su cadena de conexión. También puede usar el método builder() para especificar otras opciones del cliente. Una vez que tenga la configuración deseada, llame al método build().

Puedes configurar la opción de cliente de Stable API para evitar cambios disruptivos al actualizar a una nueva versión del servidor. Para obtener más información sobre la funcionalidad Stable API, consulta la página Stable API.

El siguiente código muestra cómo se puede especificar la cadena de conexión y la opción de cliente de la Stable API al conectarse a una implementación de MongoDB en Atlas y verificar que la conexión sea exitosa:

import com.mongodb.{ServerApi, ServerApiVersion}
import org.mongodb.scala.{ConnectionString, MongoClient, MongoClientSettings}
import org.mongodb.scala.bson.Document
import scala.concurrent.Await
import scala.concurrent.duration.DurationInt
import scala.util.Using
object MongoClientConnectionExample {
def main(args: Array[String]): Unit = {
// Replace the placeholder with your Atlas connection string
val connectionString = "<connection string>"
// Construct a ServerApi instance using the ServerApi.builder() method
val serverApi = ServerApi.builder.version(ServerApiVersion.V1).build()
val settings = MongoClientSettings
.builder()
.applyConnectionString(ConnectionString(connectionString))
.serverApi(serverApi)
.build()
// Create a new client and connect to the server
Using(MongoClient(settings)) { mongoClient =>
// Send a ping to confirm a successful connection
val database = mongoClient.getDatabase("admin")
val ping = database.runCommand(Document("ping" -> 1)).head()
Await.result(ping, 10.seconds)
System.out.println("Pinged your deployment. You successfully connected to MongoDB!")
}
}
}

Para obtener más información sobre cómo crear un objeto MongoClient con el controlador Scala, consulte la siguiente documentación de API:

Volver

Conectar

En esta página