我们都知道springboot整合mongodb,insert()和save()都是插入文档方法,但是他们有什么不同呢?下面我们来细说一下
相同点
他们都有把数据插入文档的能力。
/**
* insert方法插入
*/
@Test
void insert(){
mongoTemplate.insert(new User(1,"CoderGAP",18));
}
/**
* save方法插入
*/
@Test
void save(){
mongoTemplate.save(new User(2,"CoderGAP",18));
}
不同点
1.insert支持集合插入,能传入集合参数,save只能一条一条的传入。
2.插入id相同的数据,insert方法会报错,而save方法不会。save方法本质上是如果没有id相同的数据就直接插入,如果有id相同的数据则是先删除后插入。
如果插入id相同的数据,insert会报以下错误
Caused by: com.mongodb.MongoWriteException
总结
1.save()方法只能一条一条的插入,效率比较慢。而insert()方法能传入集合插入,效率比较高。
2.save()方法如果有id相同的数据,先删除再插入,不会报错,可以理解为更新数据。insert()如果有id相同的数据则会报MongoWriteException错误。具体使用根据业务的场景。
版权声明:本文为博主作者:CoderGAP*原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/ABoringCoder/article/details/128994129