Generar ObjectId en MongoDB usando Java

MD Aminul Islam 12 octubre 2023
  1. ObjectId en MongoDB
  2. Generar ObjectId usando Java
Generar ObjectId en MongoDB usando Java

En cualquier base de datos, necesitamos organizar los datos de manera que podamos encontrarlos fácilmente cuando sea necesario. Crear una identidad única es muy importante para este propósito.

En MongoDB, hay un sistema de identidad único incorporado que utiliza un campo llamado ObjectId.

Este artículo discutirá el ObjectId y cómo podemos generarlo usando un programa Java. Para facilitar el tema vamos a ver un ejemplo con una explicación para facilitar el tema.

ObjectId en MongoDB

El ObjectId es un valor utilizado para identificar un documento de forma única a través del campo _id en MongoDB. El sistema genera automáticamente este campo cuando un usuario inserta un nuevo documento.

Pero a veces, debemos crear nuestro propio ObjectId en función de nuestras preferencias para dotar a cada documento de una identidad única. Si está creando un programa Java que puede manipular su base de datos MongoDB, puede consultar la siguiente sección sobre cómo generar un ObjectId utilizando Java.

Generar ObjectId usando Java

En nuestro ejemplo a continuación, demostraremos cómo podemos crear un programa Java que pueda insertar un documento utilizando un ObjectId creado manualmente. Para hacer esto, puede echar un vistazo al siguiente ejemplo.

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.bson.types.ObjectId;

public class MongoDBJava {
  public static void main(String[] args) {
    MongoClient mongoClient = new MongoClient("localhost", 27017);

    // Selecting the database
    MongoDatabase mydb = mongoClient.getDatabase("Mydb");

    // Generating an ObjectId before creating the document
    ObjectId myid = new ObjectId();

    System.out.println("Generated ID: " + myid.get());

    // Creating a new document object
    Document mydoc = new Document();

    // Appending data to the document
    mydoc.append("_id", myid);
    mydoc.append("Name", "Fred");
    mydoc.append("Email", "Fred@gmail.com");
    mydoc.append("Year", 2022);

    // Inserting the created document into the collection
    mydb.getCollection("mydata").insertOne(mydoc);
    System.out.println("Inserted document successfully");
  }
}

El propósito de cada línea está comentado. En el ejemplo, primero creamos una conexión con la base de datos MongoDB.

Posteriormente, seleccionamos la base de datos usando el método getDatabase() y luego generamos un nuevo ObjectId con el nombre myid.

Luego creamos un objeto Documento y le agregamos datos usando el método agregar (). Por último, simplemente insertamos el documento en nuestra colección usando el método insertOne().

Después de ejecutar el ejemplo anterior, obtendrá el siguiente resultado.

Generated ID: 6383c46f57dfc2483d89093c
Inserted document successfully

Y verá que el siguiente documento se ha agregado a su colección MongoDB.

{ _id: ObjectId("6383c46f57dfc2483d89093c"),
  Name: 'Fred',
  Email: 'Fred@gmail.com',
  Year: 2022 }

Recuerda que ObjectId solo admite formato hexadecimal. Además, compruebe si la colección de escritura está seleccionada antes de ejecutar el programa. De lo contrario, te mostrará un error.

Algunas notas importantes:

  1. El programa compartido en este artículo está escrito en Java. Así que asegúrese de que esté instalado en su sistema.
  2. Primero instale e incluya el archivo jar de MongoDB en su programa Java. Para descargar el jar de MongoDB, utilice este enlace.
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Artículo relacionado - MongoDB ObjectId

Artículo relacionado - MongoDB Java