【MongoDB】MongoTemplate 关于 insert 和 save 函数的区别

项目在使用 spring-data-mongodb 来操作 Mongo 数据库的过程中,经常会使用到 MongoTemplate 来增删改查我们的数据。而关于插入数据这一块 MongoTemplate 则提供给我们 insertsave 这两个函数。这里简单的介绍下这两者的区别。

区别

插入重复数据

insert: 若新增数据的主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常提示主键重复,不保存当前数据。
  save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。

批操作

insert: 可以一次性插入一整个列表,而不用进行遍历操作,效率相对较高
  save: 需要遍历列表,进行一个个的插入

相关推荐