ドキュメントの挿入
MongoCollection
オブジェクトの insertOne()
メソッドを使用して、コレクションに単一のドキュメントを挿入できます。ドキュメントを挿入するには、保存するフィールドと値を含む Document
オブジェクトを構築します。まだ存在しないコレクションに対して insertOne()
メソッドを呼び出すと、サーバーによって自動的にコレクションが作成されます。
挿入に成功すると、insertOne()
は InsertOneResult
のインスタンスを返します。InsertOneResult
インスタンスで getInsertedId()
メソッドを呼び出すと、挿入したドキュメントの _id
フィールドなどの情報を検索できます。
挿入操作が失敗した場合、ドライバーは例外を発生させます。 特定の条件で発生する例外の種類の詳細については、このページの下部にリンクしているinsertOne()
の API ドキュメントを参照してください。
例
次のスニペットは、単一のドキュメントを movies
コレクションに挿入します。
例を実行すると、挿入されたドキュメントのObjectId
が値フィールドに含まれる出力が表示されます。
注意
この例では、接続 URI を使用して MongoDB のインスタンスに接続します。 MongoDB インスタンスへの接続の詳細については、「 接続ガイド 」を参照してください。
import com.mongodb.MongoException import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking import org.bson.codecs.pojo.annotations.BsonId import org.bson.types.ObjectId data class Movie( val id: ObjectId, val title: String, val genres: List<String>) fun main() = runBlocking { // Replace the uri string with your MongoDB deployment's connection string val uri = "<connection string uri>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Movie>("movies") try { val result = collection.insertOne( Movie(ObjectId(), "Ski Bloopers", listOf("Documentary", "Comedy")) ) println("Success! Inserted document id: " + result.insertedId) } catch (e: MongoException) { System.err.println("Unable to insert due to an error: $e") } mongoClient.close() }
Success! Inserted document id: BsonObjectId{value=...}
このページで言及されているクラスとメソッドについて詳しくは、次の API ドキュメントを参照してください。