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
,結果中沒有自增屬性。而update
和destroy
會返回受影響的行數。
至於 upsert()
- 創建或更新 這個函數我覺得是雞肋暫時還沒有用到
參考文檔: https://itbilu.com/nodejs/npm/V1PExztfb.html#api-bulkCreate