在Sequelize中使用group by分组聚合查询

 2016年11月25日    1855

在SQL查询中,分组查询是较常用的一种查询方式。分组查询是指通过GROUP BY关键字,将查询结果按照一个或多个字段进行分组,分组时字段值相同的会被分为一组。在Node.js基于Sequelize的ORM框架中,同样支持分组查询,使用非常简单方便。

阅读全文

Node.js 交互式命令行解析器 REPL

 2016年11月12日    330

repl是Node.js提供的一个Read-Eval-Print-Loop (REPL,读取-执行-输出-循环)实现,它即可以做为一个独立的程序使用,又可以包含在其它应用中使用。REPL是一个互式命令行解析器,它提供了一个交互式的编程环境,它可以实时的验证你所编写的代码,非常适合于验证Node.js和JavaScript的相关API。

阅读全文

Node.js 命令行(CLI)的使用及命令行选项

 2016年11月11日    756

Node.js 安装后,会同时提供一个命令行(CLI)工具。通过这个命令行工具,可以运行Node程序。通过它提供的一些命令参数选项,这些参数向内置的调试器,提供了多种脚本执行方式及其它有用的运行选项。

阅读全文

Node.js Sequelize 实现数据库读写分离

 2016年09月07日    995

在构建高并发的Web应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性。使用较多的数据库优化方案是:通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力。在Node.js中,使用 Sequelize操作数据库时,同样支持读写分离。

阅读全文

Sequelize 中事务的使用-启动、提交、回滚

 2016年08月09日    893

数据库中的事务是指单个逻辑所包含的一系列数据操作,要么全部执行,要么全部不执行。在一个事务中,可能会包含开始(START)、提交(COMMIT)、回滚(ROLLBACK)等操作,Sequelize 通过Transaction类来实现事务相关功能。Sequelize 中的事务有两种使用:可以基于Promise结果链进行自动提交或回滚,也可以由用户控制提交或回滚。

阅读全文

Webpack-前端资源模块化加载打包工具

 2016年08月06日    1474

Webpack是一个JavaScript及相关资源模块化管理及打包工具。它能将许多松散的模块及其依赖项打包为一个适合于生产的前端资源。它的代码折分功能还可以对所要加载的模块进行分隔,待程序需要的时候再加载所需内容。通过loaders(加载器),让你可加载任何模块或资源,如:可以是CommonJs、AMD、ES6等模块;可以是CSS、 Images、JSON、Coffeescript、LESS等资源;也可以是你自定义的内容。

阅读全文

sequelize-auto从数据库表自动生成Sequelize模型(Model)

 2016年08月03日    1423

某兄基于Sequelize实现ORM,其数据库中已有很多张表,如果手工建立模型(Model)会花费很多时间,因此需要一种比较便捷的建立模型的方式。笔者所参与的项目中,从项目初始阶段就使用Sequelize进行数据库表结构的维护,如果遇到表结构修改的情况会手调整模型结构,并手工编写SQL脚本修改表结构或使用sequelize.sync({force:true})来重建表。对于基于现有数据库表创建模型的情况,Sequelize官方提供了一个命令行(CLI)工具sequelize-auto,可以非常方便的从现有数据库表结构生成标准的Sequelize模型。

阅读全文

Node.js 基于流将日志、错误分别写入不同文件

 2016年07月31日    515

在一个用户进程中存在标准输入("stdin")、标准输出("tdout")、标准错误("stderr")三种流。Node.js中,对日志的操作是基于stdoutstderr两种流,如:console.log方法是向stdout写入数据,console.error是向stderr写入数据。通过stdoutstderr,或实现自定义Console对象,可以将普通日志及错误日志分别写入到不同的文件中。

阅读全文