programar-un-simple-y-minim.../acceso-a-MongoDB-via-java.jar

77 lines
4.1 KiB
Plaintext

import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
import java.util.List;
public class MongoDBEjemploConectaryCrud {
public static void main(String[] args) {
// Cadena de conexión a MongoDB Atlas
String cadenaConexion = "mongodb+srv://MACARENA:XnUKVeI5VcNE4LK1@clusterdam2025.9q7lm.mongodb.net/?retryWrites=true&w=majority&appName=ClusterDAM2025";
// Configuración del cliente MongoDB utilizando la cadena de conexión
MongoClientSettings configuracion = MongoClientSettings.builder()
.applyConnectionString(new ConnectionString(cadenaConexion))
.build();
try (MongoClient clienteMongo = MongoClients.create(configuracion)) {
try {
// Enviar un ping para confirmar que la conexión fue exitosa
MongoDatabase baseDatos = clienteMongo.getDatabase("admin");
baseDatos.runCommand(new Document("ping", 1));
System.out.println("¡Ping a tu despliegue exitoso! Te conectaste correctamente a MongoDB.");
// Preguntar por las bases de datos disponibles antes de hacer cualquier otra acción
System.out.println("\nLista de bases de datos disponibles:");
clienteMongo.listDatabaseNames().forEach(System.out::println);
// Aquí ya puedes elegir o especificar una base de datos que quieras usar
MongoDatabase baseDatosSeleccionada = clienteMongo.getDatabase("Peliculas"); // Cambia a tu base de datos
System.out.println("\nBase de datos seleccionada: " + baseDatosSeleccionada.getName());
// Mostrar las colecciones dentro de la base de datos seleccionada
System.out.println("\nLista de colecciones en la base de datos '" + baseDatosSeleccionada.getName() + "':");
baseDatosSeleccionada.listCollectionNames().forEach(System.out::println);
// Mostrar los documentos dentro de una colección específica
MongoCollection<Document> coleccion = baseDatosSeleccionada.getCollection("ColeccionPeliculas"); // Cambia a tu colección
System.out.println("\nDocumentos en la colección '" + coleccion.getNamespace().getCollectionName() + "':");
// Usar el for-each para recorrer los documentos de la colección
for (Document doc : coleccion.find()) {
// Mostrar el contenido del documento de forma comprensible
System.out.println("\nContenido del documento:");
for (String clave : doc.keySet()) {
// Comprobar si el valor es un Array o una referencia de otro Document
Object valor = doc.get(clave);
if (valor instanceof Document) {
// Si es un objeto Document, recorrer sus claves
System.out.println(clave + ": ");
Document subDoc = (Document) valor;
for (String subClave : subDoc.keySet()) {
System.out.println(" " + subClave + ": " + subDoc.get(subClave));
}
} else if (valor instanceof List) {
// Si es un Array (List), mostrar sus elementos
System.out.println(clave + ": ");
List<?> lista = (List<?>) valor;
for (Object item : lista) {
System.out.println(" - " + item);
}
} else {
// Si es un valor normal, imprimir directamente
System.out.println(clave + ": " + valor);
}
}
}
} catch (MongoException e) {
e.printStackTrace();
}
}
}
}