Generieren Sie ObjectId in MongoDB mit Java

MD Aminul Islam 12 Oktober 2023
  1. ObjectId in MongoDB
  2. Generieren Sie ObjectId mit Java
Generieren Sie ObjectId in MongoDB mit Java

In jeder Datenbank müssen wir Daten so organisieren, dass wir diese Daten bei Bedarf leicht finden können. Dafür ist es sehr wichtig, eine eindeutige Identität zu schaffen.

In MongoDB gibt es ein integriertes eindeutiges Identitätssystem, das ein Feld namens ObjectId verwendet.

Dieser Artikel behandelt die ObjectId und wie wir diese mit einem Java-Programm generieren können. Um das Thema zu vereinfachen, sehen wir ein Beispiel mit einer Erklärung, um das Thema zu vereinfachen.

ObjectId in MongoDB

Die ObjectId ist ein Wert, der verwendet wird, um ein Dokument eindeutig durch das Feld _id in MongoDB zu identifizieren. Das System generiert dieses Feld automatisch, wenn ein Benutzer ein neues Dokument einfügt.

Aber manchmal müssen wir unsere eigene ObjectId basierend auf unseren Einstellungen erstellen, um jedem Dokument eine eindeutige Identität zu verleihen. Wenn Sie ein Java-Programm erstellen, das Ihre MongoDB-Datenbank manipulieren kann, können Sie sich den nächsten Abschnitt zum Generieren einer ObjectId mit Java ansehen.

Generieren Sie ObjectId mit Java

In unserem Beispiel unten zeigen wir, wie wir ein Java-Programm erstellen können, das ein Dokument mit einer manuell erstellten ObjectId einfügen kann. Dazu können Sie sich das folgende Beispiel ansehen.

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");
  }
}

Der Zweck jeder Zeile ist auskommentiert. Im Beispiel haben wir zuerst eine Verbindung mit der MongoDB-Datenbank erstellt.

Anschliessend haben wir die Datenbank mit der Methode getDatabase() ausgewählt und dann eine neue ObjectId mit dem Namen myid generiert.

Dann haben wir ein Document-Objekt erstellt und mit der append()-Methode Daten daran angehängt. Zuletzt haben wir das Dokument einfach mit der Methode insertOne() in unsere Sammlung eingefügt.

Nachdem Sie das obige Beispiel ausgeführt haben, erhalten Sie die folgende Ausgabe.

Generated ID: 6383c46f57dfc2483d89093c
Inserted document successfully

Und Sie werden sehen, dass das folgende Dokument zu Ihrer MongoDB-Sammlung hinzugefügt wurde.

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

Denken Sie daran, dass ObjectId nur das Hexadezimalformat unterstützt. Überprüfen Sie auch, ob write collection ausgewählt ist, bevor Sie das Programm ausführen. Andernfalls wird Ihnen ein Fehler angezeigt.

Einige wichtige Hinweise:

  1. Das in diesem Artikel geteilte Programm ist in Java geschrieben. Stellen Sie also sicher, dass es in Ihrem System installiert ist.
  2. Installieren Sie zuerst die MongoDB-JAR-Datei und binden Sie sie in Ihr Java-Programm ein. Um das MongoDB-Jar herunterzuladen, verwenden Sie diesen Link.
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

Verwandter Artikel - MongoDB ObjectId

Verwandter Artikel - MongoDB Java