【发布时间】:2021-11-17 15:45:21
【问题描述】:
我对 knex 和交易比较陌生。基本上我必须在不同的 POSTGRES 表中执行一堆批量插入和更新,并且想了解最好的方法。 以下是正确的方法吗?我在批量更新部分特别苦恼。
let fieldsToInsert = [{name:'Mike', age: 57, weight:66, gender:'M'}, ...]
let _user = {user_id:99, city:6}
return db.transaction(trx => {
return trx.insert(fieldsToInsert)
.into("users")
.then(() => {
const queries = fieldsToInsert.map((user) => {
db("biodata").update({"name": user.name}).where({"id": user.age})
})
return Promise.all(queries)
}).then(() => {
const queries = fieldsToInsert.map((user) => {
db("weight_and_gender".update({"weight": user.weight, "gender": user.gender}))
})
return Promise.all(queries)
})
}).catch((err) => {
console.log(err)
})
【问题讨论】:
标签: javascript node.js postgresql transactions knex.js