Node.js使用orm2进行update操作时关联字段无法修改的解决方法


Posted in Javascript onJune 13, 2017

前言

最近在工作中遇到一个问题,在使用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 });
});

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
鼠标右击事件代码(asp.net后台)
Jan 27 Javascript
php对mongodb的扩展(初识如故)
Nov 11 Javascript
JavaScript实现的链表数据结构实例
Apr 02 Javascript
JS自定义选项卡函数及用法实例分析
Sep 02 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
Jun 23 Javascript
解析利用javascript如何判断一个数为素数
Dec 08 Javascript
node跨域请求方法小结
Aug 25 Javascript
mac中利用NVM管理不同node版本的方法详解
Nov 08 Javascript
vue-router重定向不刷新问题的解决
Jun 25 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
Jan 27 Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
Jun 13 #Javascript
微信小程序实现多个按钮toggle功能的实例
Jun 13 #Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
Jun 13 #Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 #Javascript
Vue.js实现微信过渡动画左右切换效果
Jun 13 #Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
Jun 13 #Javascript
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 #Javascript
You might like
php中文本操作的类
2007/03/17 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
firefox插件Firebug的使用教程
2010/01/02 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
解读Bootstrap v4 sass设计
2016/05/29 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python中的Numpy入门教程
2014/04/26 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
美国留学经济担保书
2014/05/20 职场文书
事业单位考察材料范文
2014/12/25 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫