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