springboot整合mongodb,insert()和save()两种插入方法有什么不同?

我们都知道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

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2024年4月22日
下一篇 2024年4月22日

相关推荐