1
我需要改變status
並取回受影響的行:Sequlize.js:.update不返回受影響的行
db.Member.update({
status: 0
}, {
where: {
id: member.id,
group_id: member.group_id,
}
}).then((updatedMember) => {
console.log("Member" + updatedMember)
// This returns 'Member 1',
// and the in the DB, the status field does change to 0
}).catch((err) => {
console.log("err " + err)
})
的.then
塊中,我得到updatedMember
爲1
。另外,如果我將status
更改爲表中不是字段的其他內容,即joe: 0
,updatedMember
仍會返回1
。
問:
可以
.update
返回受影響的對象?如果我想更改表中不存在的字段,是否應該收到錯誤?
謝謝。我使用的是MySQL和文檔說'而第二個元素是實際受影響的行(只有postgres與選項支持。返回true)。'我相信我將不得不後退到'.find',然後'.update'。我確實嘗試了第二個參數,但它回來了'undefined'。 – user1107173
我不得不多次更新我的原始回覆,因爲我再次閱讀並試用了它。我希望Sequelize文檔更清楚一點。我無法分辨出括號是否意味着只有在postgres中設置了選項時才支持該選項,這意味着它可以在沒有選項的情況下在其他地方使用,或者只能在選項設置爲period的postgres中使用。我在自己的項目中嘗試過自己,發現它是後者。 Mysql不會這樣做。抱歉 – wlh