MongoTemplate 关于 insert 和 save 函数的区别

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

 

区别

 

插入重复数据

 

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

  save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。

 

批操作

 

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

  save: 需要遍历列表,进行一个个的插入

你可能感兴趣的:(MongoDB,mongodb)