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 相关文章推荐
jquery select(列表)的操作(取值/赋值)
Aug 06 Javascript
jquery获取input的value问题说明
Aug 19 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
Jul 01 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
JavaScript基础语法、dom操作树及document对象
Dec 02 Javascript
jQuery实现仿百度帖吧头部固定导航效果
Aug 07 Javascript
jquery实现简单文字提示效果
Dec 02 Javascript
原生Javascript和jQuery做轮播图简单例子
Oct 11 Javascript
原生Javascript插件开发实践
Jan 09 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
node.js实现带进度条的多文件上传
Mar 27 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 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
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
Git命令之分支详解
2021/03/02 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
详解在Python程序中使用Cookie的教程
2015/04/30 Python
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
浅析python中的分片与截断序列
2016/08/09 Python
tornado+celery的简单使用详解
2019/12/21 Python
详解Python Opencv和PIL读取图像文件的差别
2019/12/27 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
基本款天堂:Everlane
2017/05/13 全球购物
高山背包:High Sierra
2017/11/23 全球购物
自我鉴定总结
2014/03/24 职场文书
自主招生教师推荐信
2014/05/10 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
2015年防汛工作总结
2015/05/15 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android