SpingData MongoDB中insert与save的区别

2018-01-28  本文已影响29人  柠檬信息技术有限公司

之前一直用MongoDB官方提供的库来进行操作,现在这个项目用到了SpringData的MongoDB工具类,发现有两个涉及到对象存储的方法:insert和save,不明白其中的区别,经查资料和实验发现有如下不同。

0x01. 总结

若要保存的数据中存在主键 ,insert() 会提示错误,而save() 则更改原来的内容为新内容。

0x02. 举例

 {_id : 1, " name " : " lemonsoft " }

接下来分别执行下面操作:

`insert({_id : 1, " name " : " lemonsoft2" }) `   // 会报主键重复的错误提示
`save({ _id : 1, " name " : " lemonsoft2" })`     // 会成功把 lemonsoft 修改为  lemonsoft2  。
 {_id : 1, " name " : " lemonsoft " }

接下来分别执行下面操作:

insert({ " name " : " lemonsoft2 " })    // 插入的数据因为没有主键,所以会增加一条数据
save({  " name " : " lemonsoft2 " })     // 增加一条数据。
上一篇下一篇

猜你喜欢

热点阅读