Insira vários documentos
Você pode inserir vários documentos em uma coleção em uma única operação chamando o método insertMany()
em um objeto MongoCollection
. Para inseri-los, adicione seus objetos Document
a um List
e passe esse List
como argumento para insertMany()
. Se você chamar o método insertMany()
em uma collection que ainda não existe, o servidor criará para você.
Após a inserção bem-sucedida, o insertMany()
retorna uma instância de InsertManyResult
. Você pode recuperar informações como os campos _id
dos documentos inseridos chamando o método getInsertedIds()
na instância InsertManyResult
.
Se a sua operação de inserção falhar, o driver emitirá uma exceção. Para obter mais informações sobre os tipos de exceções geradas em condições específicas, consulte a documentação da API para insertMany()
, cujo link está no final desta página.
Exemplo
O trecho a seguir insere vários documentos na collection movies
.
Observação
Esse exemplo se conecta a uma instância do MongoDB usando um URI de conexão. Para saber mais sobre como se conectar à sua instância do MongoDB , consulte oguia de conexão .
// Inserts sample documents describing movies by using the Java driver package usage.examples; import java.util.Arrays; import java.util.List; import org.bson.Document; 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.InsertManyResult; public class InsertMany { 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"); // Creates two sample documents containing a "title" field List<Document> movieList = Arrays.asList( new Document().append("title", "Short Circuit 3"), new Document().append("title", "The Lego Frozen Movie")); try { // Inserts sample documents describing movies into the collection InsertManyResult result = collection.insertMany(movieList); // Prints the IDs of the inserted documents System.out.println("Inserted document ids: " + result.getInsertedIds()); // Prints a message if any exceptions occur during the operation } catch (MongoException me) { System.err.println("Unable to insert due to an error: " + me); } } } }
Ao executar o exemplo, você deverá visualizar uma saída semelhante à seguinte com os valores ObjectId
dos documentos inseridos em cada um dos campos de valor:
Inserted document ids: {0=BsonObjectId{value=...}, 1=BsonObjectId{value=...}}
Dica
Legacy API
Se você estiver usando a API herdada, consulte nossa página de perguntas frequentes para saber quais alterações devem ser feitas nesse exemplo de código.
Para obter mais informações sobre as classes e métodos mencionados nesta página, consulte a seguinte documentação da API: