1. 程式人生 > >springboot-mongodb 新增、刪除

springboot-mongodb 新增、刪除

https://blog.csdn.net/congcong68/article/details/47064959

spring  Data  MongoDB 的MongoTemplate提供了兩種儲存文件方式,分別是save和insert方法,這兩種的區別:

  (1)save :我們在新增文件時,如果有一個相同_ID的文件時,會覆蓋原來的。

  (2)insert:我們在新增文件時,如果有一個相同的_ID時,就會新增失敗。

  1.接下來我們分別介紹的兩種方式的具體語法。

(1)Save方式

        方法:

        1)void save (Object objectToSave) 儲存文件到預設的集合。

        2)void save(Object objectToSave, String collectionName) 對指定的集合進行儲存。

(2) Insert方式

     方法:

      1)void insert(Object objectToSave) 儲存文件到預設的集合。

      2)void insertAll(Object objectsToSave) 批量新增到預設的集合。

      3)void insert(Object objectToSave, String collectionName) 對指定的集合進行儲存。

    (1)save :我們在新增文件時,如果有一個相同_ID的文件時,會覆蓋原來的。

    (2)insert:我們在新增文件時,如果有一個相同的_ID時,就會新增失敗。

     (3)MongoDB提供了insertAll批量新增,可以一次性插入一個列表,效率比較高,save則需要一個一個的插入文件,效率比較低。
insert:
  public void insert(User object,String collectionName) {  
        mongoTemplate.insert(object, collectionName);  
    }  

query:

 @Override  
    public User findOne(Map<String,Object> params,String collectionName) {  
         return mongoTemplate.findOne(new Query(Criteria.where("id").is(params.get("id"))), User.class,collectionName);    
    }  
  
    @Override  
    public List<User> findAll(Map<String,Object> params,String collectionName) {  
        List<User> result = mongoTemplate.find(new Query(Criteria.where("age").lt(params.get("maxAge"))), User.class,collectionName);  
        return result;  
    }  

update:

 @Override
    public void updateDemo(DemoEntity demoEntity) {
        Query query = new Query(Criteria.where("id").is(demoEntity.getId()));

        Update update = new Update();
        update.set("title", demoEntity.getTitle());
        update.set("description", demoEntity.getDescription());
        update.set("by", demoEntity.getBy());
        update.set("url", demoEntity.getUrl());

        mongoTemplate.updateFirst(query, update, DemoEntity.class);
    }

刪除

mongoTemplate.remove(new Query(Criteria.where("id").is(params.get("id"))),User.class,collectionName); 

刪除集合

dropCollection(String collectionName);