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 lacolección de escritura
está seleccionada antes de ejecutar el programa. De lo contrario, te mostrará un error.
Algunas notas importantes:
- El programa compartido en este artículo está escrito en Java. Así que asegúrese de que esté instalado en su sistema.
- Primero instale e incluya el archivo
jar
de MongoDB en su programa Java. Para descargar eljar
de MongoDB, utilice este enlace.
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