Tutorial de ejemplo CRUD de Java de MongoDB

Tutorial de Ejemplo CRUD de Java de MongoDB

Introducción

MongoDB es una base de datos NoSQL orientada a documentos que se ha vuelto cada vez más popular para aplicaciones modernas. Su modelo de datos flexible y su alto rendimiento la hacen ideal para almacenar y manipular grandes volúmenes de datos. Este tutorial te guiará a través de las operaciones CRUD (Crear, Leer, Actualizar y Eliminar) básicas utilizando Java y el controlador MongoDB.

Conectar con MongoDB

El primer paso es conectar con el servidor MongoDB. Puedes utilizar el siguiente código para establecer una conexión:

java
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;

public class MongoDBConnection {

public static MongoClient connect() {
MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
return new MongoClient(uri);
}
}

Reemplaza «localhost:27017» con la dirección y el puerto del servidor MongoDB.

Crear una Base de Datos y Colección

Una vez conectado, puedes crear una nueva base de datos y colección:

java
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;

public class MongoDBCreateDatabaseAndCollection {

public static void main(String[] args) {
MongoClient client = MongoDBConnection.connect();
MongoDatabase db = client.getDatabase("miBaseDeDatos");
MongoCollection<Document> collection = db.getCollection("miColeccion");
}
}

Reemplaza «miBaseDeDatos» y «miColeccion» con los nombres de tu base de datos y colección.

Insertar Documentos

Para insertar un documento en la colección, utiliza el método insertOne:

java
import com.mongodb.client.MongoCollection;
import org.bson.Document;

public class MongoDBInsertDocument {

public static void main(String[] args) {
MongoClient client = MongoDBConnection.connect();
MongoDatabase db = client.getDatabase("miBaseDeDatos");
MongoCollection<Document> collection = db.getCollection("miColeccion");

// Crea un documento a insertar
Document document = new Document()
.append("nombre", "Juan")
.append("edad", 30)
.append("ocupacion", "Ingeniero de Software");

// Inserta el documento
collection.insertOne(document);
}
}

El documento se insertará en la colección. Puedes verificar esto consultando la colección.

Leer Documentos

Para leer documentos de la colección, utiliza el método find:

java
import com.mongodb.client.MongoCollection;
import com.mongodb.client.FindIterable;
import org.bson.Document;

public class MongoDBReadDocuments {

public static void main(String[] args) {
MongoClient client = MongoDBConnection.connect();
MongoDatabase db = client.getDatabase("miBaseDeDatos");
MongoCollection<Document> collection = db.getCollection("miColeccion");

// Obtiene todos los documentos de la colección
FindIterable<Document> documents = collection.find();

// Itera sobre los documentos y los imprime
for (Document document : documents) {
System.out.println(document.toJson());
}
}
}

El código anterior imprimirá todos los documentos de la colección.

Actualizar Documentos

Para actualizar un documento, utiliza el método updateOne:

java
import com.mongodb.client.MongoCollection;
import org.bson.Document;

public class MongoDBUpdateDocument {

public static void main(String[] args) {
MongoClient client = MongoDBConnection.connect();
MongoDatabase db = client.getDatabase("miBaseDeDatos");
MongoCollection<Document> collection = db.getCollection("miColeccion");

// Crea un filtro para identificar el documento a actualizar
Document filter = new Document()
.append("nombre", "Juan");

// Crea un documento con los nuevos valores
Document update = new Document()
.append("$set", new Document()
.append("edad", 31));

// Actualiza el documento
collection.updateOne(filter, update);
}
}

El código anterior actualizará el documento con el nombre «Juan» y cambiará su edad a 31.

Eliminar Documentos

Para eliminar un documento, utiliza el método deleteOne:

java
import com.mongodb.client.MongoCollection;
import org.bson.Document;

public class MongoDBDeleteDocument {

public static void main(String[] args) {
MongoClient client = MongoDBConnection.connect();
MongoDatabase db = client.getDatabase("miBaseDeDatos");
MongoCollection<Document> collection = db.getCollection("miColeccion");

// Crea un filtro para identificar el documento a eliminar
Document filter = new Document()
.append("nombre", "Juan");

// Elimina el documento
collection.deleteOne(filter);
}
}

El código anterior eliminará el documento con el nombre «Juan».

Conclusión

Este tutorial ha proporcionado una introducción a las operaciones CRUD básicas en MongoDB utilizando Java. Estas operaciones son esenciales para manipular y administrar datos en aplicaciones modernas. Mediante la comprensión de estas operaciones, puedes crear aplicaciones potentes y eficientes que aprovechen el poder de MongoDB.

Preguntas Frecuentes

1. ¿Qué es MongoDB?
MongoDB es una base de datos NoSQL orientada a documentos que almacena datos en documentos similares a JSON.

2. ¿Por qué usar MongoDB?
MongoDB ofrece escalabilidad, alto rendimiento y un modelo de datos flexible, lo que lo hace ideal para aplicaciones modernas.

3. ¿Qué es un controlador MongoDB?
Un controlador MongoDB es una biblioteca que proporciona una interfaz de programación para interactuar con MongoDB desde un lenguaje de programación específico.

4. ¿Cómo me conecto a MongoDB?
Puedes conectarte a MongoDB usando el controlador MongoDB, proporcionándole la dirección del servidor y el puerto.

5. ¿Cómo creo una base de datos y una colección en MongoDB?
Puedes crear una base de datos y una colección utilizando los métodos getDatabase y getCollection del objeto del cliente MongoDB.

6. ¿Cómo inserto un documento en MongoDB?
Puedes insertar un documento utilizando el método insertOne del objeto de la colección.

7. ¿Cómo leo documentos de MongoDB?
Puedes leer documentos utilizando el método find del objeto de la colección.

8. ¿Cómo actualizo documentos en MongoDB?
Puedes actualizar documentos utilizando el método updateOne del objeto de la colección.

9. ¿Cómo elimino documentos de MongoDB?
Puedes eliminar documentos utilizando el método deleteOne del objeto de la colección.

10. ¿Cómo puedo aprender más sobre MongoDB?
Puedes encontrar más información sobre MongoDB en la documentación oficial.