Puede insertar varios documentos en una colección en una sola operación llamando al método insertMany() Método en un objeto MongoCollection. Para insertarlos, añada sus objetos Document a un objeto List y pase ese List como argumento a insertMany(). Si llama al método insertMany() en una colección que aún no existe, el servidor la crea automáticamente.
Tras una inserción exitosa, insertMany() devuelve una instancia de InsertManyResult. Puede recuperar información como los campos _id de los documentos insertados llamando al método getInsertedIds() en la instancia InsertManyResult.
Si la operación de inserción falla, el controlador genera una excepción. Para obtener más información sobre los tipos de excepciones generadas en condiciones específicas, consulte la documentación de la API de insertMany(), cuyo enlace encontrará al final de esta página.
Ejemplo
El siguiente fragmento inserta varios documentos en la colección movies.
Al ejecutar el ejemplo, debería ver el resultado con los valores ObjectId de los documentos insertados en cada uno de los campos de valor:
Nota
Este ejemplo se conecta a una instancia de MongoDB mediante una URI de conexión. Para obtener más información sobre cómo conectarse a su instancia de MongoDB, consulte 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, consulte la siguiente documentación de API: