sequelize 批量添加和更新數據 bulkCreate


sequelize提供了批量插入數據的方法:Model.bulkCreate([…object])。

例如:

let  updatePhone = [{userName: '李白‘},{userName: '杜甫'}]

db_erroressence.active_telephone.bulkCreate(updatePhone) ;
db_erroressence:鏈接的數據庫, 
active_telephone:表,
bulkCreate 批量添加的方法

批量更新數據:

例如:

 

let valueArr = [];
let updatePhone = = [{"userName": "李白", "age": 30, "sex": "男" },{"userName": "杜甫", "age": 40, sex": "男"},{"userName": "小明", "age": 20, sex": "男"},{"userName": "小紅", "age": 20, sex": "女"}];
for(var i=0;i<updatePhone.length;i++){
  var value = {
       userName:updatePhone[i].userName, 
    age:updatePhone[i].age,
sex:updatePhone[i].sex

 };
valueArr.push(value)
}

db_erroressence.active_telephone.bulkCreate(valueArr,{updateOnDuplicate:["age","sex"]});

注意 updateOnDuplicate是在插入的時候如果主鍵沖突就執行更新操作

更新單個實例的批量操作方法有:

  • Model.update
  • Model.destroy

當操作多個模型時,回調中不會返回DAO 實例。bulkCreate會一個包含多個實例/DAO的數組,但不像create,結果中沒有自增屬性。而updatedestroy會返回受影響的行數。

 至於  upsert() - 創建或更新 這個函數我覺得是雞肋暫時還沒有用到

參考文檔: https://itbilu.com/nodejs/npm/V1PExztfb.html#api-bulkCreate

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM