ドキュメントの挿入
MongoCollection
オブジェクトの insertOne()
メソッドを使用して、コレクションに単一のドキュメントを挿入できます。ドキュメントを挿入するには、保存するフィールドと値を含む Document
オブジェクトを構築します。まだ存在しないコレクションに対して insertOne()
メソッドを呼び出すと、サーバーによって自動的にコレクションが作成されます。
挿入に成功すると、insertOne()
は InsertOneResult
のインスタンスを返します。InsertOneResult
インスタンスで getInsertedId()
メソッドを呼び出すと、挿入したドキュメントの _id
フィールドなどの情報を検索できます。
挿入操作が失敗した場合、ドライバーは例外を発生させます。 特定の条件で発生する例外の種類の詳細については、このページの下部にリンクしているinsertOne()
の API ドキュメントを参照してください。
例
次のスニペットは、単一のドキュメントを movies
コレクションに挿入します。
注意
この例では、接続 URI を使用して MongoDB のインスタンスに接続します。 MongoDB インスタンスへの接続の詳細については、「 接続ガイド 」を参照してください。
// Inserts a sample document describing a movie by using the Java driver package usage.examples; import java.util.Arrays; import org.bson.Document; import org.bson.types.ObjectId; import com.mongodb.MongoException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.result.InsertOneResult; public class InsertOne { public static void main(String[] args) { // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); try { // Inserts a sample document describing a movie into the collection InsertOneResult result = collection.insertOne(new Document() .append("_id", new ObjectId()) .append("title", "Ski Bloopers") .append("genres", Arrays.asList("Documentary", "Comedy"))); // Prints the ID of the inserted document System.out.println("Success! Inserted document id: " + result.getInsertedId()); // Prints a message if any exceptions occur during the operation } catch (MongoException me) { System.err.println("Unable to insert due to an error: " + me); } } } }
例を実行すると、挿入されたドキュメントの ObjectId
が値フィールドに含まれた次のような出力が表示されます。
Inserted document id: BsonObjectId{value=...}
このページで言及されているクラスとメソッドについて詳しくは、次の API ドキュメントを参照してください。