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中Iframe之间传值的方法
Mar 11 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
IE中getElementsByName()对有些元素无效的解决方案
Sep 28 Javascript
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 Javascript
纯原生js实现table表格的增删
Jan 05 Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 Javascript
JavaScript执行环境及作用域链实例分析
Aug 01 Javascript
Bootstrap模态对话框用法简单示例
Aug 31 Javascript
Vue-component全局注册实例
Sep 06 Javascript
浅谈KOA2 Restful方式路由初探
Mar 14 Javascript
JS面试题中深拷贝的实现讲解
May 07 Javascript
详解node.js 事件循环
Jul 22 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 SQL之where语句生成器
2009/03/24 PHP
php 定界符格式引起的错误
2011/05/24 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
yii操作cookie实例简介
2014/07/09 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
js调用flash的效果代码
2008/04/26 Javascript
学习ExtJS Column布局
2009/10/08 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
Python字符串格式化
2015/06/15 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
用Python写冒泡排序代码
2016/04/12 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
Python time库基本使用方法分析
2019/12/13 Python
Python json转字典字符方法实例解析
2020/04/13 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
房屋租赁协议书范本
2014/04/10 职场文书
单位工作证明
2014/10/07 职场文书
业务员辞职信范文
2015/03/02 职场文书
2015年药店工作总结
2015/04/20 职场文书
数据库连接池
2021/04/06 MySQL
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python