Commit Inicial
This commit is contained in:
commit
3f44520797
40
.classpath
Normal file
40
.classpath
Normal 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
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/bin/
|
||||||
|
*.class
|
||||||
|
/target/
|
||||||
23
.project
Normal file
23
.project
Normal 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>
|
||||||
2
.settings/org.eclipse.core.resources.prefs
Normal file
2
.settings/org.eclipse.core.resources.prefs
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=UTF-8
|
||||||
8
.settings/org.eclipse.jdt.core.prefs
Normal file
8
.settings/org.eclipse.jdt.core.prefs
Normal 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
|
||||||
4
.settings/org.eclipse.m2e.core.prefs
Normal file
4
.settings/org.eclipse.m2e.core.prefs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
activeProfiles=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
resolveWorkspaceProjects=true
|
||||||
|
version=1
|
||||||
17
pom.xml
Normal file
17
pom.xml
Normal 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>
|
||||||
147
src/main/java/dam2/aadd/inm/AppPrincipal.java
Normal file
147
src/main/java/dam2/aadd/inm/AppPrincipal.java
Normal 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user