位置: 编程技术 - 正文

node.js Sequelize实现单实例字段或批量自增、自减(nodequery)

编辑:rootadmin

推荐整理分享node.js Sequelize实现单实例字段或批量自增、自减(nodequery),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js详解,nodejs setimmediate,nodejs promise.all,nodejs query,nodejs zlib,node.js gui,nodejs zlib,nodejs query,内容如对您有帮助,希望把文章链接给更多的朋友!

一、单实例自增、自减

在Sequelize中,一个实例(Instance)表示数据库中的一行记录。Instance有两种:由Model.build()创建的非持久化实例,和由Model.create()等方法创建的持久化实例。无论是持久化还是非持久化实例,都会有increment() 、decrement()两人上方法,分别用于字段值的自增和自减两种操作。

instance.increment(fields, [options]) - 字段值自增 instance.decrement(fields, [options]) - 字段值自减

如,查找id为1的用户,并将其年龄自增1:

其中increment()方法生成的SQL语句如下:

increment()和decrement()默认的自增、自减值是1。如果希望使用其它值,可在选项参数[options]中通过by参数指定。

如,将用户的number、age两个字段减小2,可以通过以下方式实现:

生成的SQL如下:

fields参数还可以通过对象传入,并指定自增、自减值。这种情况下,会忽略options.by参数。

node.js Sequelize实现单实例字段或批量自增、自减(nodequery)

如,将用户的number增加2、age减小1:

生成的SQL如下:

二、 批量自增、自减

increment()和decrement()都是针对单个实例进行自增或自减操作的,也就是说操作的数据为数据库中的一行数据。要实现类似如下批量自增、自减操作,就无法通过Instance操作:

在Sequelize中,指量操作一般是通过模型(Model)来实现。但Model并没有increment()和decrement()方法,无法像Instance那样方便的进行自增或自减。

这时,我们可以通过Model.update()并借助sequelize中的顶级方法sequelize.literal()来实现:

sequelize.literal(val) - 创建字面量对象

sequelize.literal()方法用于创建一个字面量对象,该对象(val)会被直接传入所生成的SQL语句中,而不会进行任何转义。

如,将number大于的用户年龄增加1:

生成的SQL语句如下:

总结

标签: nodequery

本文链接地址:https://www.jiuchutong.com/biancheng/374109.html 转载请保留说明!

上一篇:node.js学习之交互式解释器REPL详解(node.js入门教程)

下一篇:解析NodeJs的调试方法(nodejs调试指南)

  • 其他权益工具投资属于什么科目
  • 个体工商户怎么补交个人所得税
  • 借转股意思
  • 提取法定盈余公积是从净利润中提取吗
  • 兼职人员账务处理
  • 小金额收据入账后需要汇算清缴吗
  • 补交的增值税可以从留抵里面扣嘛
  • 小企业会计准则是什么意思
  • 企业清算的种类
  • 如何设置处理器个数如何设置显示器超频
  • 交易性金融资产的入账价值
  • 企业所得税虚报成本多少属于犯罪
  • 母公司收购少数股东股权,之前的利润母公司不享有
  • 一般纳税人开具3%专票的条件
  • 2017年一般纳税人增值税优惠
  • 一般纳税人销售货物会计分录
  • 集团企业内各个部门职责
  • 纳税等级信息查询
  • 税务申报没报上怎么办
  • 购买方申请的红字信息表需要邮寄给销售方吗
  • mac电脑新手使用
  • 浏览器播放视频加速怎么设置
  • arp防火墙是什么意思
  • 电脑自我诊断
  • 鸿蒙怎么装app
  • 怎么设置宽带开关网络
  • 苹果手机铃声删除在哪里
  • 所得税季报填报说明
  • 父母将住房无偿赠送给子女 增值税
  • 出口免退增值税计算公式
  • 迭代器,生成器
  • 车辆保险费用的申请模板
  • php simple html dom parser
  • vue实现路由跳转传参
  • css字体加粗怎么弄
  • 在国内如何用ChatGPT
  • 纳税人备案期限
  • 专用发票货物名称怎么填
  • 进项转出了还能再转进去吗
  • sqlserver还原数据库一直显示正在执行0%
  • 什么是,利息
  • 物流辅助服务是
  • 背书是什么含义
  • 外贸常用的付款方式有哪些
  • 高危险工作人员有什么意外险
  • 账上存货太多实收怎么办
  • 发生了销售交易但没有在销售日记
  • 分期收款销售的会计与纳税处理
  • 销售商品未开票
  • 银行承兑汇票记载事项
  • 负债表预付账款怎么填
  • 跨年做进项税额转出
  • 会计软件包括
  • 纳税人虽设置账簿,但账目混乱
  • sqlserver关键字附近有语法错误
  • SQL语句查询数据库账号和权限
  • xp系统如何打印文件
  • vista sp2 旗舰版 key
  • freebsd怎么样
  • unix系统的最大特点
  • 使用微软
  • url是什么格式的文件怎么打开
  • centos如何查看服务进程
  • 微软禁用windows
  • linux怎么查看挂载点
  • cocos3d物理引擎
  • opengl粒子系统烟花
  • Android ViewStub 布局延迟加载
  • perl写文件
  • vue cli3 webpack配置
  • linux多线程编程实例
  • linux怎样添加用户
  • linux中的shell命令
  • 守护进程和普通进程
  • jquery显示div
  • javascript入门教学
  • java dom解析
  • 河南网上税务申报步骤
  • 陕西省税务局袁小平简介
  • 出口货物计算公式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设