db.collection.bulkWrite()
批量写入操作
语法
db.collection.bulkWrite([<op1>, <op2>, ...], <options>)说明
bulkWrite 在一次操作中执行多个 insertOne、updateOne、updateMany、deleteOne、deleteMany、replaceOne 操作。相比逐条执行,批量写入可大幅减少网络往返,提升写入性能。支持有序和无序模式。
参数
insertOne插入单条文档
updateOne更新匹配的第一条文档
updateMany更新所有匹配文档
deleteOne删除匹配的第一条文档
deleteMany删除所有匹配文档
replaceOne替换匹配的整条文档
orderedtrue 按序执行(默认),false 并发出错继续
示例
混合批量操作
插入、更新、删除混合执行
db.orders.bulkWrite([
{ insertOne: { document: { _id: 1, item: "A", qty: 10 } } },
{ updateOne: { filter: { _id: 2 }, update: { $set: { status: "done" } } } },
{ deleteOne: { filter: { _id: 3 } } }
])无序批量写入
出错时继续执行其余操作
db.users.bulkWrite(operations, { ordered: false })