Java を使用して MongoDB で ObjectId を生成する

MD Aminul Islam 2023年10月12日
  1. MongoDB のObjectId
  2. Java を使用して ObjectId を生成する
Java を使用して MongoDB で ObjectId を生成する

どのデータベースでも、必要なときに簡単にデータを見つけられるようにデータを整理する必要があります。 この目的のためには、一意のアイデンティティを作成することが非常に重要です。

MongoDB には、ObjectId という名前のフィールドを使用する組み込みの一意の ID システムがあります。

この記事では、ObjectId と、Java プログラムを使用してこれを生成する方法について説明します。 トピックを簡単にするために、トピックを簡単にするための説明付きの例を見ていきます。

MongoDB のObjectId

ObjectId は、MongoDB のフィールド _id を通じてドキュメントを一意に識別するために使用される値です。 ユーザーが新しいドキュメントを挿入すると、システムはこのフィールドを自動的に生成します。

ただし、場合によっては、各ドキュメントに一意の ID を提供するために、設定に基づいて独自の ObjectId を作成する必要があります。 MongoDB データベースを操作できる Java プログラムを作成している場合は、Java を使用した ObjectId の生成に関する次のセクションを参照してください。

Java を使用して ObjectId を生成する

以下の例では、手動で作成された ObjectId を使用してドキュメントを挿入できる Java プログラムを作成する方法を示します。 これを行うには、以下の例を見てください。

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

各行の目的はコメントアウトされています。 この例では、最初に MongoDB データベースとの接続を作成しました。

その後、メソッド getDatabase() を使用してデータベースを選択し、myid という名前の新しい ObjectId を生成しました。

次に、Document オブジェクトを作成し、append() メソッドを使用してデータを追加します。 最後に、insertOne() メソッドを使用してコレクションにドキュメントを挿入しました。

上記の例を実行すると、以下の出力が得られます。

Generated ID: 6383c46f57dfc2483d89093c
Inserted document successfully

以下のドキュメントが MongoDB コレクションに追加されていることがわかります。

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

ObjectId は 16 進数形式のみをサポートすることに注意してください。 また、プログラムを実行する前に write collection が選択されているかどうかを確認してください。 そうしないと、エラーが表示されます。

いくつかの重要な注意事項:

  1. この記事で紹介するプログラムは Java で書かれています。 そのため、システムにインストールされていることを確認してください。
  2. 最初に MongoDB jar ファイルをインストールして、Java プログラムに含めます。 MongoDB jar をダウンロードするには、この リンク を使用します。
著者: MD Aminul Islam
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

関連記事 - MongoDB ObjectId

関連記事 - MongoDB Java