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 相关文章推荐
JS中剪贴板兼容性、判断复制成功或失败
Mar 09 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
Jun 17 Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
ES6新数据结构Map功能与用法示例
Mar 31 Javascript
手把手搭建安装基于windows的Vue.js运行环境
Jun 12 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
Oct 31 Javascript
JavaScript设计模式之单例模式简单实例教程
Jul 02 Javascript
vue.js 添加 fastclick的支持方法
Aug 28 Javascript
JavaScript中this的全面解析及常见实例
May 14 Javascript
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
解决vue项目本地启动时无法携带cookie的问题
Feb 06 Vue.js
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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
PHP二维数组的去重问题解析
2011/07/17 PHP
PHP实现下载功能的代码
2012/09/29 PHP
php检测useragent版本示例
2014/03/24 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
jQuery动画特效实例教程
2014/08/29 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
nodejs基础应用
2017/02/03 NodeJs
Javascript中的async awai的用法
2017/05/17 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
在Mac上删除自己安装的Python方法
2018/10/29 Python
python下载库的步骤方法
2019/10/12 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
eBay德国站:eBay.de
2017/09/14 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
个人安全承诺书
2014/05/22 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技
Java使用HttpClient实现文件下载
2022/08/14 Java/Android