insert 如果主键("_id")在数据库中存在,则不做任何处理。

save如果主键("_id")在数据库中存在,则进行更新

insert和save方法的区别

insert 不校验数据是否存在,直接插入,如果重复的话,报错.

save 插入重复数据,则改用update

  1. /** 
  2.      * 使用save()方法保存数据 
  3.      * @param collection “表”名 
  4.      */  
  5.     private static void saveData(DBCollection collection){  
  6.         DBObject saveData=new BasicDBObject();  
  7.         saveData.put("userName", "iwtxokhtd");  
  8.         saveData.put("age", "26");  
  9.         saveData.put("gender", "m");  
  10.           
  11.         DBObject infoData=new BasicDBObject();  
  12.         infoData.put("height", 16.3);  
  13.         infoData.put("weight", 22);  
  14.           
  15.         saveData.put("info", infoData);  
  16.         collection.save(saveData);  
  17.     }  
  18.       
  19.     /** 
  20.      * 使用insert()方法保存数据 
  21.      * @param collection "表"名 
  22.      */  
  23.     private static void insertData(DBCollection collection){  
  24.         DBObject insertData=new BasicDBObject();  
  25.         insertData.put("name", "pig");  
  26.         insertData.put("headers", 2);  
  27.         insertData.put("legs", 4);  
  28.         //insert(DBObject obj)   
  29.         collection.insert(insertData);  
  30.           
  31.         DBObject insertDataFox=new BasicDBObject();  
  32.         insertDataFox.put("name", "fox");  
  33.         insertDataFox.put("headers", 1);  
  34.         insertDataFox.put("legs", 4);  
  35.           
  36.         DBObject insertDataTiger=new BasicDBObject();  
  37.         insertDataTiger.put("name", "tiger");  
  38.         insertDataTiger.put("headers", 1);  
  39.         insertDataTiger.put("legs", 3);  
  40.           
  41.         List<DBObject> insertDataList=new ArrayList<DBObject>();  
  42.         insertDataList.add(insertDataFox);  
  43.         insertDataList.add(insertDataTiger);  
  44.         //insert(List<DBObject> list)   
  45.         collection.insert(insertDataList);  
  46.     }