Puede insertar múltiples documentos en una colección en una sola operación llamando al insertMany() método en un objeto MongoCollection. Para insertarlos, añade tus Document objetos a un List y pasa ese List como argumento a insertMany(). Si llamas al método insertMany() en una colección que aún no existe, el servidor la creará por ti.
Una vez realizada la inserción con éxito, insertMany() devuelve una instancia de InsertManyResult. Puedes recuperar información como los _id campos de los documentos que insertaste llamando al método getInsertedIds() en la instancia InsertManyResult.
Si tu operación de inserción falla, el driver genera una excepción. Para obtener más información sobre los tipos de excepciones generadas bajo condiciones específicas, consultar la documentación de la API para insertMany(), enlazada en la parte inferior de esta página.
Ejemplo
El siguiente snippet inserta múltiples documentos en la colección movies.
Cuando ejecutes el ejemplo, deberías ver una salida con los valores de ObjectId de los documentos insertados en cada uno de los campos de valor:
Nota
Este ejemplo se conecta a una instancia de MongoDB utilizando un URI de conexión. Para obtener más información sobre cómo conectarse a tu instancia de MongoDB, consulta el guía de conexión.
import com.mongodb.MongoException import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking data class Movie(val title: 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") val movieList = listOf( Movie("Short Circuit 3"), Movie("The Lego Frozen Movie") ) try { val result = collection.insertMany(movieList) println("Success! Inserted document ids: " + result.insertedIds) } catch (e: MongoException) { System.err.println("Unable to insert due to an error: $e") } mongoClient.close() }
Success! Inserted document ids: {0=BsonObjectId{value=...}, 1=BsonObjectId{value=...}}
Para obtener información adicional sobre las clases y métodos mencionados en esta página, revisa la siguiente documentación API: