Bulk.getOperations()

在本页面

返回通过Bulk.execute()执行的写操作数组。返回的写操作由 MongoDB 确定要执行的组。有关 MongoDB 如何对批量写入操作列表进行分组的信息,请参阅Bulk.execute() Behavior

只能在Bulk.execute()之后使用Bulk.getOperations()。在调用Bulk.execute()之前先调用Bulk.getOperations()会导致不完整列表。

Example

以下代码在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 将操作分为两组,一组包含 1000 个操作,一组包含 500 个操作。有关 MongoDB 如何将批量写入操作列表分组的信息,请参阅Bulk.execute() Behavior

尽管该方法返回了返回的数组中的所有 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 }
      ]
   }
]

Returned Fields

该数组包含具有以下字段的文档:

batchType Operation
1 Insert
2 Update
3 Remove

See also

Bulk()Bulk.execute()

首页