77 lines
4.1 KiB
Plaintext
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();
|
|
}
|
|
}
|
|
}
|
|
} |