Tip
MongoDB は、一括書き込み操作を実行するための Mongo.bulkWrite() メソッドも提供します。
定義
db.collection.initializeUnorderedBulkOp()重要
mongosh メソッド
このページでは、
mongoshメソッドについて記載しています。これは Node.js などの言語固有のドライバーのドキュメントではありません。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
コレクションの新しい
Bulk()操作ビルダを初期化して返します。 ビルダは、MongoDB が一括して実行する書込み (write) 操作の順序なしのリストを作成します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
動作
操作の順序
順序なしの操作リストを使用すると、MongoDB はリスト内の書込み操作を並行して実行でき、任意の順序で実行できます。 操作の順序が重要な場合は、代わりにdb.collection.initializeOrderedBulkOp()を使用します。
操作の実行
unorderedリストの操作を実行するとき、MongoDB は操作をグループ化します。 順序なしの一括操作では、リスト内の操作の順序を変更してパフォーマンスを向上させることができます。 そのため、アプリケーションは、 unordered一括操作を実行するときに順序に依存すべきではありません。
Bulk(){ のmongosh 操作とドライバーの同等のメソッドでは、グループ内の操作数に制限はありません。一括操作実行用に操作がどのようにグループ化されているかを確認するには、実行Bulk.getOperations() 後 に呼び出します。
Error Handling
いずれかの書込み操作の処理中にエラーが発生した場合、MongoDB はリスト内の残りの書込み操作の処理を続行します。
例
以下の例では、 Bulk()操作ビルダーを初期化し、複数のドキュメントを追加するための一連の挿入操作を追加します。
var bulk = db.users.initializeUnorderedBulkOp(); bulk.insert( { user: "abc123", status: "A", points: 0 } ); bulk.insert( { user: "ijk123", status: "A", points: 0 } ); bulk.insert( { user: "mop123", status: "P", points: 0 } ); bulk.execute();