Bulk.getOperations()
Bulk.getOperations()
Bulk.execute()
を通じて実行された書き込み操作の配列を返します。 返される書込み (write) 操作は、実行用 MongoDB によって決定されたグループに入れられます。 MongoDB が一括書き込み操作のリストをグループ化する方法については、「 Bulk.execute() の動作 」を参照してください。Bulk.getOperations()
の後にのみBulk.execute()
を使用します。Bulk.getOperations()
を呼び出す前に呼び出すと、Bulk.execute()
不完全な リストが作成されます。
例
以下の例では、 items
コレクションでBulk()
操作ビルダを初期化し、一連の書込み操作を追加して操作を実行し、 bulk
ビルダ オブジェクトでgetOperations()
を呼び出します。
var bulk = db.items.initializeUnorderedBulkOp(); for (var i = 1; i <= 1500; i++) { bulk.insert( { x: i } ); } bulk.execute(); bulk.getOperations();
getOperations()
メソッドは、実行された操作を含む配列を返します。 出力には、MongoDB が操作を2グループに分割したことが示されています。1 つは1000操作、もう 1 つは500操作です。 MongoDB が一括書き込み操作のリストをグループ化する方法については、「 Bulk.execute() の動作」を参照してください。
メソッドは返される配列内の 1500 回すべての操作を返しますが、このページでは簡潔にするために結果の一部を省略しています。
[ { "originalZeroIndex" : 0, "batchType" : 1, "operations" : [ { "_id" : ObjectId("53a8959f1990ca24d01c6165"), "x" : 1 }, ... // Content omitted for brevity { "_id" : ObjectId("53a8959f1990ca24d01c654c"), "x" : 1000 } ] }, { "originalZeroIndex" : 1000, "batchType" : 1, "operations" : [ { "_id" : ObjectId("53a8959f1990ca24d01c654d"), "x" : 1001 }, ... // Content omitted for brevity { "_id" : ObjectId("53a8959f1990ca24d01c6740"), "x" : 1500 } ] } ]
返されたフィールド
配列には、次のフィールドを持つドキュメントが含まれています。
originalZeroIndex
ゼロ インデックスに基づいて、操作が一括操作ビルダに追加された順序を指定します。例: 一括操作ビルダに追加された最初の操作の
originalZeroIndex
値は0
です。