面试题答案
一键面试1. insertMany()
方法
- 使用方式:
db.collection.insertMany([document1, document2, ...])
,可一次性插入多个文档数组。 - 性能特点:
- 优点:在批量插入时,网络开销相对较小,因为只需一次与数据库的交互。这显著提升了插入效率,尤其适用于插入大量文档的场景。
- 缺点:如果其中某个文档插入失败(例如违反唯一索引等约束),整个插入操作会失败并回滚,所有文档都不会被插入(除非设置了
ordered: false
)。
2. insert()
方法循环插入
- 使用方式:通过编程语言循环调用
db.collection.insert(document)
逐个插入文档。 - 性能特点:
- 优点:即使某个文档插入失败,不会影响其他文档的插入,容错性较好。
- 缺点:每次插入都需要与数据库进行一次网络交互,网络开销大,在插入大量文档时,性能明显低于
insertMany()
,因为频繁的网络请求会带来较大延迟。