Commit Inicial

This commit is contained in:
Isidoro Nevares Martín 2026-01-29 13:00:49 +01:00
commit 3f44520797
8 changed files with 244 additions and 0 deletions

40
.classpath Normal file
View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="optional" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/bin/
*.class
/target/

23
.project Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>aadd_crud_mongodb</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

17
pom.xml Normal file
View File

@ -0,0 +1,17 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>aadd_crud_mongodb</groupId>
<artifactId>aadd_crud_mongodb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- Source: https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-sync -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>5.6.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,147 @@
package dam2.aadd.inm;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.InsertManyResult;
import com.mongodb.client.result.InsertOneResult;
import com.mongodb.client.result.UpdateResult;
/**
* @author Isidoro Nevares Martín
* Fecha: 29 enero 2026
*/
public class AppPrincipal {
public static void main(String[] args) {
// TODO Auto-generated method stub
AppPrincipal app= new AppPrincipal();
// Cadena de conexion con la base de datos MongoDB
String uri = "mongodb://admin:mongodb_123@192.168.1.36:27017/";
// Se abre la conexión con MongoDB
MongoClient clienteMongo = MongoClients.create(uri);
// Obtener una base de datos MongoDB desde Java (Crearla previamente en MongoDB)
MongoDatabase database = clienteMongo.getDatabase("Formacion");
// Obtener o crear una colección MongoDB
MongoCollection<Document> coleccionMDb= database.getCollection("C_ALUMNO");
System.out.println(coleccionMDb);
// Insertar sobre MongoDB
app.insertarInformacionMongoDB(coleccionMDb);
app.insertarInformacionMongoDB(coleccionMDb);
// Inserción sobre MongoDB
app.consultarInformacionMongoDB(coleccionMDb);
// Actualziación sobre MongoDB
app.actualizarInformacionMongoDB(coleccionMDb);
// Borrado sobre MongoDB
app.borrarInformacionMongoDB(coleccionMDb);
}
private void insertarInformacionMongoDB(MongoCollection<Document> coleccionMDb){
// Insertar UN DOCUMENTO en la colección
Document documentoAlumno1 = new Document();
documentoAlumno1.append("nombre", "Pedro")
.append("edad", 22);
InsertOneResult insercionUno = coleccionMDb.insertOne(documentoAlumno1);
System.out.println(insercionUno.getInsertedId());
Document documentoAlumo2 = new Document();
documentoAlumo2.append("nombre", "María")
.append("edad", 25);
Document documentoDireccionAlumo2 = new Document();
documentoDireccionAlumo2.append("calle", "Calle Francos Rodríguez, 15")
.append("ciudad", "Madrid")
.append("codigo_postal", "28039");
documentoAlumo2.append("direccion", documentoDireccionAlumo2);
insercionUno = coleccionMDb.insertOne(documentoAlumo2);
System.out.println(insercionUno.getInsertedId());
// Insertar VARIOS DOCUMENTOS de golpe en la colección
List<Document> documentosAlumnos = new ArrayList<>();
documentosAlumnos.add(new Document().append("nombre", "Elena").append("edad", 33));
documentosAlumnos.add(new Document().append("nombre", "Ana").append("edad", 41));
documentosAlumnos.add(new Document().append("nombre", "Pablo").append("edad", 41));
InsertManyResult insertManyResult = coleccionMDb.insertMany(documentosAlumnos);
System.out.println(insertManyResult.getInsertedIds());
}
private void consultarInformacionMongoDB(MongoCollection<Document> coleccionMDb){
// Obtener todos los documentos
FindIterable<Document> documentosEncontrados = coleccionMDb.find();
System.out.println("\n--- Resultados find() ---");
documentosEncontrados.forEach(document -> System.out.println(document));
// Consultar Colección con filtro = del documento
Bson filtro = Filters.eq("edad", 41);
documentosEncontrados = coleccionMDb.find(filtro);
System.out.println("\n--- Resultados find() ---");
documentosEncontrados.forEach(document -> System.out.println(document));
// Consultar Colección con filtro 'like' del documento (Alumnos cuyo nombre empieza por 'P')
Document docFiltro = new Document("nombre", Pattern.compile("P"));
documentosEncontrados=coleccionMDb.find(docFiltro);
System.out.println("\n--- Resultados find() ---");
//otra forma de recorrer los resultados:
for (Document doc : documentosEncontrados) {
System.out.println(doc);
}
}
private void actualizarInformacionMongoDB(MongoCollection<Document> coleccionMDb){
// Actualizar un DOCUMENTO que cumplen un filtro
Bson filtro = Filters.eq("edad", 41);
Bson edadNueva = Updates.set("edad", 111);
UpdateResult updateOne = coleccionMDb.updateOne(filtro, edadNueva);
System.out.println(updateOne.getMatchedCount());
// Actualizar los DOCUMENTOS que cumplen un filtro
UpdateResult updateMuchos = coleccionMDb.updateMany(filtro, edadNueva);
System.out.println(updateMuchos.getMatchedCount());
}
private void borrarInformacionMongoDB(MongoCollection<Document> coleccionMDb){
// Borrar UNO por un campo (cuando nombre valga 'Elena')
Bson filtro = Filters.eq("nombre", "Elena");
DeleteResult deleteResult = coleccionMDb.deleteOne(filtro);
System.out.println("\n--- Número de elementos borrados ---");
System.out.println(deleteResult.getDeletedCount());
// Borrar MUCHOS por un campo (cuando edad valga 111)
filtro = Filters.eq("edad", 111);
deleteResult = coleccionMDb.deleteMany(filtro);
System.out.println("\n--- Número de elementos borrados ---");
System.out.println(deleteResult.getDeletedCount());
// Borrar todos los documentos de la colección
deleteResult = coleccionMDb.deleteMany(Filters.empty());
System.out.println("\n--- Número de elementos borrados ---");
System.out.println(deleteResult.getDeletedCount());
}
}