Overview
En esta guía, puedes aprender a usar bases de datos y colecciones de MongoDB con el controlador de sincronización de Kotlin.
MongoDB organiza los datos en una jerarquía de los siguientes niveles:
Bases de datos: Estructuras de datos de nivel superior en una implementación de MongoDB que almacenan colecciones.
Colecciones: Grupos de documentos de MongoDB. Son análogos a las tablas en bases de datos relacionales.
Documentos: Unidades que almacenan datos literales como cadenas, números, fechas y otros documentos incrustados. Para obtener más información sobre los tipos y la estructura de los campos de documentos, consulta el Documentos guía en el manual de MongoDB Server.
Acceder a una base de datos
Para acceder a una base de datos, pase el nombre de la base de datos al getDatabase()
.
El siguiente ejemplo accede a una base de datos llamada test_database:
val db = client.getDatabase("test_database")
Acceder a una colección
Para acceder a una colección, pasa el nombre de la base de datos al método getCollection().
El siguiente ejemplo accede a una colección llamada test_collection:
val collection = db.getCollection("test_collection")
Tip
Si el nombre de la colección proporcionado aún no existe en la base de datos, MongoDB crea implícitamente la colección cuando se insertan datos en ella por primera vez.
Crear una colección
Para crear explícitamente una colección en una base de datos de MongoDB, pasa un nombre de colección al método createCollection().
El siguiente ejemplo crea una colección llamada example_collection:
db.createCollection("example_collection")
Puedes especificar opciones de colección, como el tamaño máximo y las reglas de validación de documentos, configurándolas en una instancia de CreateCollectionOptions. Luego, pasa el CreateCollectionOptions al método createCollection(). Para obtener una lista completa de los parámetros opcionales, consulta la CreateCollectionOptions documentación de la API.
Obtén una lista de colecciones
Puedes hacer un query para una lista de colecciones en una base de datos mediante el método listCollections(). El método devuelve un cursor que contiene todas las colecciones en la base de datos y sus metadatos asociados.
El siguiente ejemplo llama al método listCollections() e itera sobre el iterador devuelto para imprimir las colecciones de los ejemplos Acceso a una colección y Crear una colección:
val results = db.listCollections() val jsonSettings = JsonWriterSettings.builder().indent(true).build() results.forEach { result -> println(result.toJson(jsonSettings)) }
{ "name": "example_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } } { "name": "test_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } }
Borrar una colección
Para borrar una colección de la base de datos, llama al método drop() en tu colección.
El siguiente ejemplo elimina la colección test_collection:
db.getCollection("test_collection").drop()
Advertencia
Eliminar una colección borra todos los datos de la colección
Borrar una colección de la base de datos borra permanentemente todos los documentos y todos los índices dentro de esa colección.
Elimine una colección solo si ya no necesita los datos que contiene.
Borrar una base de datos
Para eliminar una base de datos de su implementación de MongoDB, llame al método drop() en su base de datos.
El siguiente ejemplo borra la base de datos test_database:
client.getDatabase("test_database").drop()
Advertencia
Borrar una base de datos borra todos los datos de la base de datos.
Borrar una base de datos borra permanentemente todas las colecciones, documentos e índices dentro de esa base de datos.
Elimine una base de datos solo si ya no necesita los datos que contiene.
Configurar operaciones de lectura y guardar
Puede controlar cómo se ejecutan las operaciones de lectura y escritura en conjuntos de réplicas especificando una preferencia de lectura, una preocupación de lectura o una preocupación de escritura.
De forma predeterminada, las bases de datos heredan la configuración de lectura y escritura de la instancia MongoClient. Las colecciones heredan esta configuración de la instancia MongoClient o MongoDatabase en la que se llama al método getCollection(). Puede cambiar esta configuración llamando a los siguientes métodos:
Para obtener más información sobre cómo configurar una preferencia de lectura, nivel de consistencia de lectura y nivel de confirmación de escritura (write concern), consulta la Guía Configurar operaciones CRUD.
Documentación de la API
Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API: