您好,登錄后才能下訂單哦!
前言
最近在工作中遇到一個問題,在使用Orm2進行model修改時,發現當對關聯字段進行update操作時,執行了2次SQL,第一次把值改為了我們期望的值,第二次又會把值改回成原來的值。
經過調查,當autoFetch開啟時,會自動取得關聯model,此時的model為:
{ roomId: xxx, // 關聯的roomId room: { // 關聯的room對象 } }
第一次會按照roomId去修改,第二次則會按照fetch的關聯對象room進行修改,導致了我們看到的執行了兩次SQL的情況。
解決方法
在save操作前將fetch的對象刪除即可。
for (var j in originEntity) { if (_.isObject(originEntity[j])) { delete originEntity[j]; } } originEntity.save(function(err) { if (err) { return res.json({ errMsg: err[0].msg }); } return res.json({ code: 200, data: originEntity }); });
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。