Docs Menu
Docs Home
/ / /
Java 同期
/ /

複数のドキュメントの挿入

MongoCollectionオブジェクトで insertMany()メソッドを呼び出すと、1 回の操作で複数のドキュメントをコレクションに挿入できます。 これらを挿入するには、 DocumentオブジェクトをListに追加し、そのListを引数としてinsertMany()に渡します。 まだ存在しないコレクションに対してinsertMany()メソッドを呼び出すと、サーバーによってコレクションが作成されます。

挿入に成功すると、 insertMany()InsertManyResultのインスタンスを返します。 InsertManyResultインスタンスでgetInsertedIds()メソッドを呼び出すと、挿入したドキュメントの_idフィールドなどの情報を検索できます。

挿入操作が失敗した場合、ドライバーは例外を発生させます。 特定の条件で発生する例外の種類の詳細については、このページの下部にリンクしているinsertMany()の API ドキュメントを参照してください。

次のスニペットは、複数のドキュメントをmoviesコレクションに挿入します。

注意

この例では、接続 URI を使用して MongoDB のインスタンスに接続します。 MongoDB インスタンスへの接続の詳細については、「 接続ガイド 」を参照してください。

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");
List<Document> movieList = Arrays.asList(
new Document().append("title", "Short Circuit 3"),
new Document().append("title", "The Lego Frozen Movie"));
try {
InsertManyResult result = collection.insertMany(movieList);
System.out.println("Inserted document ids: " + result.getInsertedIds());
} catch (MongoException me) {
System.err.println("Unable to insert due to an error: " + me);
}
}
}
}

例を実行すると、挿入されたドキュメントのObjectId値が各値フィールドに含まれた次のような出力が表示されます。

Inserted document ids: {0=BsonObjectId{value=...}, 1=BsonObjectId{value=...}}

Tip

Legacy API

レガシー API を使用している場合は、 FAQ ページ を参照して、このコード例に加える必要がある変更を確認してください。

このページで言及されているクラスとメソッドについて詳しくは、次の API ドキュメントを参照してください。

戻る

ドキュメントの挿入