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 ajax 检测用户注册时用户名是否存在
Nov 03 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
Jan 13 Javascript
jQuery实现异步获取json数据的2种方式
Aug 29 Javascript
javascript解三阶幻方(九宫格)
Apr 22 Javascript
Vue 实现手动刷新组件的方法
Feb 19 Javascript
vue组件间通信六种方式(总结篇)
May 15 Javascript
layui使用templet格式化表格数据的方法
Sep 16 Javascript
vue移动端模态框(可传参)的实现
Nov 20 Javascript
javascript canvas API内容整理
Feb 16 Javascript
JS正则表达式常见函数与用法小结
Apr 13 Javascript
es6函数之rest参数用法实例分析
Apr 18 Javascript
Element DateTimePicker日期时间选择器的使用示例
Jul 27 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 ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
php实现文件上传基本验证
2020/03/04 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
python求pi的方法
2014/10/08 Python
python查询sqlite数据表的方法
2015/05/08 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
物业管理计划书
2014/01/10 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
安全员岗位职责
2015/02/10 职场文书
结婚典礼主持词
2015/06/29 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书