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
が選択されているかどうかを確認してください。 そうしないと、エラーが表示されます。
いくつかの重要な注意事項:
- この記事で紹介するプログラムは Java で書かれています。 そのため、システムにインストールされていることを確認してください。
- 最初に MongoDB
jar
ファイルをインストールして、Java プログラムに含めます。 MongoDBjar
をダウンロードするには、この リンク を使用します。
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