Overview
En esta guía, puede aprender a utilizar bases de datos y colecciones de MongoDB con el controlador Java de MongoDB.
MongoDB organiza los datos en una jerarquía de los siguientes niveles:
Databases
Colecciones
Documentos
Las bases de datos constituyen el nivel superior de organización de datos en una instancia de MongoDB. Se organizan en colecciones que contienen documentos. Los documentos contienen datos literales como cadenas, números y fechas, así como otros documentos (incrustados). Para obtener más información sobre los tipos y la estructura de los campos de los documentos, consulte la documentación del servidor. documentos.
Acceder a una base de datos
Utilice la función getDatabase() método de un MongoClient instancia para acceder a un MongoDatabase en una instancia de MongoDB.
El siguiente ejemplo accede a una base de datos llamada testDatabase:
MongoDatabase database = mongoClient.getDatabase("testDatabase");
Acceder a una colección
Utilice el método getCollection() de una MongoDatabase instancia para acceder a una MongoCollection en una base de datos de su instancia MongoDB conectada.
El siguiente ejemplo accede a una colección denominada testCollection desde un MongoDatabase:
MongoDatabase database = mongoClient.getDatabase("testDatabase"); MongoCollection<Document> collection = database.getCollection("testCollection");
Tip
Si el nombre de la colección proporcionada aún no existe en la base de datos, MongoDB crea implícitamente la colección cuando usted inserta datos en esa colección por primera vez.
Crear una colección
Utilice el método createCollection() de una MongoDatabase instancia para crear una colección en una base de datos de su instancia MongoDB conectada.
El siguiente ejemplo crea una colección llamada exampleCollection:
database.createCollection("exampleCollection");
Puede especificar opciones de colección, como el tamaño máximo y las reglas de validación de documentos, mediante la clase CreateCollectionOptions. El createCollection() método acepta una instancia de CreateCollectionOptions como segundo parámetro opcional.
Validación de documentos
Lavalidación de documentos permite validar documentos con una serie de filtros durante las escrituras en una colección. Puede especificar estos filtros mediante la clase ValidationOptions, que acepta una serie de filtros que especifican las reglas y expresiones de validación:
ValidationOptions collOptions = new ValidationOptions().validator( Filters.or(Filters.exists("commander"), Filters.exists("first officer"))); database.createCollection("ships", new CreateCollectionOptions().validationOptions(collOptions));
Para obtener más información, consulte la documentación del servidor para la validación de documentos.
Obtén una lista de colecciones
Puede consultar una lista de colecciones en una base de datos utilizando el método MongoDatabase.listCollectionNames():
for (String name : database.listCollectionNames()) { System.out.println(name); }
Descarta una colección
Puede eliminar una colección de la base de datos utilizando el método MongoCollection.drop():
MongoCollection<Document> collection = database.getCollection("bass"); collection.drop();
Advertencia
Eliminar una colección borra todos los datos de la colección
Eliminar una colección de la base de datos también elimina permanentemente todos los documentos y todos los índices de esa colección. Elimine únicamente las colecciones que contengan datos que ya no sean necesarios.
Descartar una base de datos
Puede eliminar una base de datos de su instancia de MongoDB utilizando el método MongoDatabase.drop(), como se muestra en el siguiente ejemplo:
MongoDatabase database = mongoClient.getDatabase("testDatabase"); 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.
Descarta una base de datos solo si los datos que contiene ya no son necesarios.
Especificar preferencias de lectura, inquietudes de lectura y inquietudes de escritura
Las preferencias de lectura, las preocupaciones de lectura y las preocupaciones de escritura controlan cómo el controlador enruta las operaciones de lectura y espera la confirmación de las operaciones de lectura y escritura al conectarse a un conjunto de réplicas de MongoDB. Las preferencias de lectura y las preocupaciones de lectura se aplican a todas las operaciones de lectura; las preocupaciones de escritura, a todas las operaciones de escritura.
MongoDatabase Las instancias heredan sus configuraciones de escritura, lectura y preferencia de escritura del MongoClient utilizado para crearlas. Las instancias MongoCollection heredan sus configuraciones de escritura, lectura y preferencia de escritura del MongoDatabase utilizado para crearlas. Sin embargo, puede usar los siguientes métodos para obtener una instancia de MongoDatabase o MongoCollection con una preferencia de lectura, lectura o escritura diferente a la configuración que heredarían normalmente:
Tip
Los métodos withReadConcern(), withReadPreference() y withWriteConcern crean una nueva instancia de un MongoDatabase o MongoCollection con la preferencia o inquietud deseadas. El MongoDatabase o MongoCollection en el que se llama al método conserva su configuración original de preferencias y preocupaciones.
Para obtener más información, consulte la documentación del servidor sobre preferencias de lectura, inquietudes de lectura e inquietudes de escritura.