Javascript 找不到创建的数据库行
我有一个函数,可以创建一个关键字,并在关键字不存在时用用户id更新属性。如果关键字已经存在,它将使用数组中的用户id更新属性 当一个请求包含一个关键字的多个更新时,当该关键字在请求之前不存在时,我有一个关键字重复的问题 我已尝试添加sequalize.transaction,还尝试添加setTimeoutJavascript 找不到创建的数据库行,javascript,postgresql,sequelize.js,Javascript,Postgresql,Sequelize.js,我有一个函数,可以创建一个关键字,并在关键字不存在时用用户id更新属性。如果关键字已经存在,它将使用数组中的用户id更新属性 当一个请求包含一个关键字的多个更新时,当该关键字在请求之前不存在时,我有一个关键字重复的问题 我已尝试添加sequalize.transaction,还尝试添加setTimeout const findOrCreateKeyword = async function(keyword, keywordModel){ // await new Promise(done =
const findOrCreateKeyword = async function(keyword, keywordModel){
// await new Promise(done => setTimeout(done, 10000));
return keywordModel.sequelize.transaction( async t => {
return keywordModel.findOrCreate({
where: {
keyword: keyword
},
transaction: t
}).catch(err => console.log('Error: findKeyword: ', err))
})
}
如果某个关键字在请求之前不存在,并且该请求包含对某个关键字的多个“更新”,我希望第一个“更新”在表中创建该关键字(创建的变量应为true),而其他“更新”将用户id添加到userID数组属性(对于后续更新,创建的值应为false)
实际发生的情况是更新创建了重复的关键字(每次创建的关键字都是真的)
var [keywordObj, created] = await findKeyword(keyword, KeywordModel)