Sequelize 常用操作详解及实例代码

Sequelize 常用操作demo

链接

var Sequelize = require('sequelize');
var sequelize = new Sequelize('nodejs', 'root', '', {host : '127.0.0.1', port : '3306', dialect : 'mysql'});

查询

Task.findAll({limit : 10, age:{gt:3},order : 'id asc'}, {raw : true, logging : true, plain : false}).on('success', function(res){
  console.log(res);
}).on('failure', function(err){
  console.log(err);
})

统计

Task.count({where : {title : 'test_title_1'}}, {logging : false}).on('success', function(i){
  console.log(i);
}).on('failure', function(err){
  console.log(err);
});

最大或最小

Task.max('id').on('success', function(max){
  console.log(max);
}).on('failure', function(err){
  console.log(err);
});

插入

Task.build({title : 'test_title_3', 'description' : 'test_description_3'}).save().on('success', function(msg){
  console.log(msg);
}).on('failure', function(err){
  console.log(err);
});

Task.create({title : 'test_title_4', 'description' : 'test_description_4'}).on('success', function(msg){
  console.log(msg);
}).on('failure', function(err){
  console.log(err);
});

修改

Task.update({description : 'test_description_2000'}, {id : '2'}).on('success', function(msg){
  console.log(msg);
}).on('failure', function(err){
  console.log(err);
});

删除

Task.destroy({id : '4'}).on('success', function(msg){
  console.log(msg);
}).on('failure', function(err){
  console.log(err);
});

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Node.js Sequelize如何实现数据库的读写分离

    一.前言 在构建高并发的Web应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性.使用较多的数据库优化方案是:通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力. 1. replication选项与读写分离 Sequelize 支持读/写分离,要实现读/写分离可以分别为读和写各创建一个Sequelize实例,更方便的使用方式是在创建实例时,通过replication选项分别指定读/写数据库. 要在Seq

  • Sequelize中用group by进行分组聚合查询

    一.SQL与Sequelize中的分组查询 1.1 SQL中的分组查询 SQL查询中,通GROUP BY语名实现分组查询.GROUP BY子句要和聚合函数配合使用才能完成分组查询,在SELECT查询的字段中,如果没有使用聚合函数就必须出现在ORDER BY子句中.分组查询后,查询结果为一个或多个列分组后的结果集. GROUP BY语法 SELECT 列名, 聚合函数(列名) FROM 表名 WHERE 列名 operator value GROUP BY 列名 [HAVING 条件表达式] [W

  • 关于Sequelize连接查询时inlude中model和association的区别详解

    前言 大家都知道在使用Sequelize进行关系模型(表)间连接查询时,我们会通过model/as来指定已存在关联关系的连接查询模型,或是通过association来直接指定连接查询模型关系.那么,两者各应该在什么场景下使用呢? 一. 示例准备 模型定义 首先,定义User和Company两个模型: 'use strict' const Sequelize = require('sequelize'); // 创建 sequelize 实例 const sequelize = new Seque

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

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

  • Sequelize 常用操作详解及实例代码

    Sequelize 常用操作demo 链接 var Sequelize = require('sequelize'); var sequelize = new Sequelize('nodejs', 'root', '', {host : '127.0.0.1', port : '3306', dialect : 'mysql'}); 查询 Task.findAll({limit : 10, age:{gt:3},order : 'id asc'}, {raw : true, logging :

  • jQuery 特性操作详解及实例代码

    前面的话 每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息.操作特性的DOM方法主要有3个:getAttribute()方法.setAttribute()方法和removeAttribute()方法,而在jQuery中用一个attr()与removeAttr()就可以全部搞定了,包括兼容问题.本文将介绍jQuery中的特性操作 获取特性 jQuery中用attr()方法来获取和设置特性,attr是attribute(特性)的缩写,在jQuery DOM操作中会经常

  • c# Thread类线程常用操作详解

    创建线程 线程是通过扩展 Thread 类创建的.扩展的 Thread 类调用 Start() 方法来开始子线程的执行. 下面的程序演示了这个概念: class ThreadCreationProgram { public static void CallToChildThread() { Console.WriteLine("Child thread starts"); } static void Main(string[] args) { ThreadStart childref

  • MySQL 序列 AUTO_INCREMENT详解及实例代码

    MySQL 序列 AUTO_INCREMENT详解及实例代码 MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将介绍如何使用MySQL的序列. 使用AUTO_INCREMENT MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列. 实例 以下实例中创建了数据表insect, insect中id无需指定值可实现自动增长. mysql>

  • Spring AOP 基于注解详解及实例代码

    Spring AOP  基于注解详解及实例代码 1.启用spring对@AspectJ注解的支持: <beans xmlns:aop="http://www.springframework.org/schema/aop"...> <!--启动支持--> <aop:aspectj-autoproxy /> </beans> 也可以配置AnnotationAwareAspectJAutoProxyCreator Bean来启动Spring对@

  • JS 实现计算器详解及实例代码(一)

    Javascript 实现计算器: 系列文章: JS 实现计算器详解及实例代码(一) Javascript 实现计算器时间功能详解及实例(二) 小型JavaScript计算器 自己寻思出的解决方案,比较笨拙的方法,虽然完成了但是还有不少bug,用的方法也不是最有效的,基本功能算是完成了,一些小的细节地方也考虑到了,但是还有其他的细节需要处理. 总体设计思路是,先画草图 -> 设计UI -> 编写UI代码 -> 编写CSS -> 编写JS逻辑代码: 面板(main-board) 面板

  • Java中对List集合的常用操作详解

    目录: 1.list中添加,获取,删除元素: 2.list中是否包含某个元素: 3.list中根据索引将元素数值改变(替换): 4.list中查看(判断)元素的索引: 5.根据元素索引位置进行的判断: 6.利用list中索引位置重新生成一个新的list(截取集合): 7.对比两个list中的所有元素: 8.判断list是否为空: 9.返回Iterator集合对象: 10.将集合转换为字符串: 11.将集合转换为数组: 12.集合类型转换: 备注:内容中代码具有关联性. 1.list中添加,获取,

  • Android Dialog详解及实例代码

     Android Dialog详解及实例代码 概述: Android开发中最常用的就是Dialog类,除了自定义dialog布局,最多的就是用在弹出对话框.进度条.输入框.单选.复选框. 1.选择对话框: AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle("选择对话框"); dialog.setMessage("请选择确认或取消"); dialog.setCance

  • LintCode 堆化详解及实例代码

    LintCode 堆化详解及实例代码 给出一个整数数组,堆化操作就是把它变成一个最小堆数组. 对于堆数组A,A[0]是堆的根,并对于每个A[i],A [i * 2 + 1]是A[i]的左儿子并且A[i * 2 + 2]是A[i]的右儿子. 样例 给出 [3,2,1,4,5],返回[1,2,3,4,5] 或者任何一个合法的堆数组 挑战 O(n)的时间复杂度完成堆化 说明 什么是堆? 堆是一种数据结构,它通常有三种方法:push, pop 和 top.其中,"push"添加新的元素进入堆,

  • 对django views中 request, response的常用操作详解

    request 获取post请求中的json数据 def hello(request): data = json.loads(request.body) ... json格式还有一些 非表单序列化 的格式,都可以从 request.body 中获取请求体中的数据,对于ajax请求可以使用 request.is_ajax() 来判断 根据请求的信息获取base url(有时候服务的域名比较多,还是需要动态的拼接一下url信息) # url http://wificdn.com:8888/wxpay

随机推荐