Para conectamos a la base de datos creamos una instancia MongoClient, por defecto crea una conexión con la base de datos local, y escucha por el puerto 27017. Todos los métodos relacionados con operaciones CRUD (Create, Read, Update and Delete) en Java se acceden a través de la interfaz MongoCollection.
Las instancias de MongoCollection se pueden obtener a partir de una instancia MongoClient por medio de una MongoDatabase. Así pues para conectarme a la base de datos mibasedatos ya la colección amigos escribiré lo siguiente:
String uri = "mongodb://localhost:27017/";
try (MongoClient mongoClient = MongoClients.create(uri)) {
MongoDatabase database = mongoClient.getDatabase("Prueba");
MongoCollection<Document> collection = database.getCollection("Clientes");
Document doc = collection.find(eq("nombre", "David")).first();
if (doc != null) {
System.out.println(doc.toJson());
} else {
System.out.println("No matching documents found.");
}
}
MongoCollection es una interfaz genérica: el parámetro de tipo TDocument es la clase que los clientes utilizan para insertar o modificar los documentos de una colección, y es el tipo predeterminado para devolver búsquedas (find) y agregados (aggregate). El método de un solo argumento getCollection devuelve una instancia de MongoCollection < Document> y así es como podemos trabajar con instancias de la clase de documento.
CONSULTAR DOCUMENTOS
El método find() devuelve un cursor, devuelve una instancia FindIterable. Podemos utilizar el método iterator() para recorrer el cursor. En el ejemplo recuperamos todos los documentos de la colección y se visualizan en formato JSON:
MongoCursor result = collection.find(filter)
.projection(project)
.sort(sort).iterator();
try {
while (result.hasNext()) {
System.out.println(result.next().toJson());
}
} finally {
result.close();
}