項目在使用 spring-data-mongodb 來操做 Mongo 數據庫的過程當中,常常會使用到 MongoTemplate 來增刪改查咱們的數據。而關於插入數據這一塊 MongoTemplate 則提供給咱們 insert、save 這兩個函數。這裏簡單的介紹下這二者的區別。spring
區別mongodb
插入重複數據數據庫
insert: 若新增數據的主鍵已經存在,則會拋 org.springframework.dao.DuplicateKeyException 異常提示主鍵重複,不保存當前數據。函數
save: 若新增數據的主鍵已經存在,則會對當前已經存在的數據進行修改操做。io
批操做效率
insert: 能夠一次性插入一整個列表,而不用進行遍歷操做,效率相對較高遍歷
save: 須要遍歷列表,進行一個個的插入數據