位置: 编程技术 - 正文

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调试指南)

  • 小规模纳税人能开专票吗2023
  • 申请延期缴纳税款的批准机关
  • 房地产销售土地属于什么收入
  • 外地多预交的税款申报时该怎么填写?
  • 销售赠送赠品会计处理
  • 企业发生的职工培训费应计入产品的制造成本
  • 交易性金融资产的交易费用计入哪里
  • 出口货物是否属于存货
  • 企业间资金往来 人员派驻
  • 汇算清缴跨年发票
  • 固定资产税前一次性扣除政策中的扣除十点
  • 个人购买车辆的发票可以贷款吗
  • 固定资产尚未投入怎么办
  • 销售额增加10%什么概念
  • 小规模季度超过30万是全额纳税吗
  • 小规模820如何填写申报表?
  • 餐费适用税率
  • 关联关系的判定标准
  • 我国个人取得的各种所得有几种类型
  • 员工激励该怎么表达
  • 解析居民企业非货币性资产对外投资政策
  • 增值税扣税凭证抵减销项税额
  • 物业收取的滞纳金怎么算
  • 买保险公司的年金险划算吗
  • 收到联营企业分派的现金股利为什么不计入利润总额
  • 平均年限法如何计算
  • 删除文件时错误是怎么回事
  • 解决口苦最快的方法
  • mac怎么设置屏幕保护壁纸
  • 企业补充流动资金具体用途
  • 电器维修公司买什么保险
  • 商标转让过程中公司转让
  • SCHDPL32.EXE - SCHDPL32是什么进程 有什么用
  • 出售固定资产减按2%会计处理1%怎么处理
  • echarts地图不同地区设置不同的颜色
  • 支付赊购材料款怎么入账
  • 企业受赠业务的法律规定
  • 对于小型微利企业的建议
  • thinkphp自定义标签
  • Ubuntu18.04配置允许远程访问
  • passwd -s命令
  • php强大吗
  • thinkphp apidoc
  • 纳什理论是什么
  • 代理进口业务应纳的关税
  • 材料发出会计科目
  • 小规模企业所得税优惠政策最新2022
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • mongodb主备配置
  • 月初领票是不是要等到报完税才可以领
  • 建筑企业预缴税率
  • 跨年费用入账
  • 设计部工资计入哪个科目
  • 发票已开款未到的会计分录?
  • 购货单位暂欠货款违法吗
  • 2013年11号公告企业政策性搬迁
  • 工程分包如何开具发票
  • 税务局返还的个税手续费是否纳税
  • 待抵扣进项税额是什么情况下用的
  • 国税地税发票样式区别
  • 盈余公积的构成
  • 恢复网页浏览历史记录
  • sql merge函数
  • php+mysql prepare 与普通查询的性能对比实例讲解
  • xp怎么解压文件
  • CentOS6 32/64位安装Adobe Flash Player组件的方法
  • 怎么把ubuntu装在u盘上
  • linux yum命令详解
  • windows 查看补丁
  • UNITY开发工程师
  • nodejs项目搭建
  • unity openvr
  • 在javascript中逻辑运算符包括
  • 一张监控
  • unity3d打包成apk
  • 绿化项目利润
  • 12366纳税服务热线坐席人员
  • 青岛地方税务局第三分局局长
  • 企业年金个人缴费比例越高越好吗
  • 海关行政处罚实施条例的适用范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设