区别
若新增的数据中存在主键,insert()会提示错误,而save() 则更改原来的内容为新内容。
如:
已存在数据: {_id : 1, "name " : "n1 " },再次进行插入操作时,

insert({_id : 1, "name " : "n2 " }) 会报主键重复的错误提示
_id : 1, "name " : "n2 " }) 会把 n1 修改为 n2 。
相同点:

若新增的数据中没有主键时,会增加一条记录。
已存在数据: { _id : 1, "name " : "n1 " },再次进行插入操作时,
insert({ "name " : "n2 " }) 插入的数据因为没有主键,所以会增加一条数据
save({ "name " : "n2 " }) 增加一条数据。