Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

Bulk.getOperations()

在此页面上

  • 兼容性
  • 例子
  • 返回的字段
Bulk.getOperations()

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

仅在 之后使用Bulk.getOperations() Bulk.execute()}。Bulk.getOperations()在调用Bulk.execute() } 将导致列表 不完整 。

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

注意

所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

以下示例在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组,一组包含1000操作,另一组包含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

batchType

指定写入操作类型。

batchType
操作
1
Insert
2
Update
3
删除
operations

包含操作详细信息的文档数组。

提示

另请参阅:

后退

Bulk.find。更新或插入(upsert)