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 图片轮播(5张图片)
Dec 30 Javascript
js下用层来实现select的title提示属性
Feb 23 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
Sep 29 Javascript
JavaScript创建类/对象的几种方式概述及实例
May 06 Javascript
jquery实现树形二级菜单实例代码
Nov 20 Javascript
Jquery Mobile 自定义按钮图标
Nov 18 Javascript
详解javascript事件绑定使用方法
Oct 20 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
ES6下React组件的写法示例代码
May 04 Javascript
微信小程序实现手势图案锁屏功能
Jan 30 Javascript
vue transition 在子组件中失效的解决
Nov 12 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开发入门教程之面向对象
2006/12/05 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
js文件Cookie存取值示例代码
2014/02/20 Javascript
javascript操作数组详解
2014/12/17 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
基于jquery实现图片放大功能
2016/05/07 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python文件操作之目录遍历实例分析
2015/05/20 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
python实现图书管理系统
2018/03/12 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
总结表彰大会主持词
2014/03/26 职场文书
英文请假条
2014/04/11 职场文书
欢迎领导检查标语
2014/06/27 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
社区工作者个人总结
2015/02/28 职场文书
退税申请报告怎么写
2015/05/18 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android