项目在使用 spring-data-mongodb 来操作 Mongo 数据库的过程中,经常会使用到 MongoTemplate 来增删改查我们的数据。而关于插入数据这一块 MongoTemplate 则提供给我们 insert
、save
这两个函数。这里简单的介绍下这两者的区别。
区别
插入重复数据
insert: 若新增数据的主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException
异常提示主键重复,不保存当前数据。
save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。
批操作
insert: 可以一次性插入一整个列表,而不用进行遍历操作,效率相对较高
save: 需要遍历列表,进行一个个的插入