更新文件

master 2.1.0
宇天 2018-03-03 20:48:51 +08:00
parent 041e633849
commit 5a3ea70687
4 changed files with 13 additions and 25 deletions

View File

@ -1,4 +1,4 @@
2.1.0 / 2017-12-14 2.1.0 / 2018-03-03
================== ==================
* 大重构, 更加简练, 结构也更加合理 * 大重构, 更加简练, 结构也更加合理

View File

@ -2,11 +2,7 @@
# mysqli # mysqli
> 本模块基于 node-mysql 模块二次封装,对基础的增删改查,主从库等按 js 的特点进行 > 本模块基于 node-mysql 模块二次封装将SQL语法转为类似MongoDB的API。对常用的增删改查提供了简单的API, 并且进行了SQL注入过滤, 对新手非常友好。
> 了简化,并对 SQL 注入进行安全过滤,让没有 SQL 基础的人,也能顺利使用 ; 当然,
> 一些复杂的查询,以及事务等,这些不在我的服务之内,而且会用到这些功能的童鞋,本
> 身也有一定的 SQL 基础了 ; 所以,这类童鞋,请自行使用各自习惯的 SQL 模块,或手
> 写实现。
## 使用 npm 安装 ## 使用 npm 安装
@ -16,7 +12,7 @@ npm install mysqli
## 实例化 ## 实例化
> 实例化可以传 2 种格式的配置1 是 json 对象2 是数组。只有一个数据库时,默认 > 实例化可以传入一个数组,或单个object配置。只有一个数据库时,默认
> 是主库 ; 多于 1 个数据库服务时,自动以第 1 个为主库,其他的从库,故实例化时 > 是主库 ; 多于 1 个数据库服务时,自动以第 1 个为主库,其他的从库,故实例化时
> `注意顺序`。 > `注意顺序`。
@ -74,7 +70,7 @@ Mysqli.escape('这是文本')
> 触发一个数据库实例 , 可接受 2 个参数 , 第 1 个为 " 是否从库 ", 第 2 个为 " 数 > 触发一个数据库实例 , 可接受 2 个参数 , 第 1 个为 " 是否从库 ", 第 2 个为 " 数
> 据库名称 " > 据库名称 "
> `这一步是必须要的, `
```javascript ```javascript
const Mysqli = require('mysqli') const Mysqli = require('mysqli')
let conn = new Mysqli({ let conn = new Mysqli({
@ -121,7 +117,7 @@ db.query(`select * from users limit 10`).then(row => {
}) })
``` ```
### 6. filter(condition, select) ### 6. find(condition, select)
* condition `<Object>`, 查询条件 * condition `<Object>`, 查询条件
* select `<Array>`, 要返回字段 , 默认全部返回 * select `<Array>`, 要返回字段 , 默认全部返回
@ -131,18 +127,10 @@ db.query(`select * from users limit 10`).then(row => {
```javascript ```javascript
db db
.filter( .find(
{ {
table: '', // 要查询的表 table: '', // 要查询的表
where: [ where: {foo: 'bar', goo: {$like: 'hello%'}}, //条件, 语法类似mongodb
{
//数组格式,可以组成多个条件,默认查询全表 【可选】
join: 'OR', //条件关系 AND, OR
op: '>', //关系符,如 =, >, <, <=, >=
key: 'aa',
val: 23
}
],
sort: { sort: {
//排序, key是要排序的字段,value是排序方式, 1顺序,-1逆序 【可选】 //排序, key是要排序的字段,value是排序方式, 1顺序,-1逆序 【可选】
a: 1, a: 1,
@ -150,14 +138,14 @@ db
}, },
limit: [0, 1] // 查询范围,可用于分页 【可选】 limit: [0, 1] // 查询范围,可用于分页 【可选】
}, },
['a', 'b'] ['id', 'name'] //要select的字段
) )
.then(row => { .then(row => {
console.log(row) console.log(row)
}) })
``` ```
### 7. filterOne(condition) ### 7. findOne(condition)
* condition `<Object>` * condition `<Object>`

View File

@ -67,7 +67,7 @@ class Method {
}) })
} }
filter(condition, select) { find(condition, select) {
const { table, leftJoin, rightJoin, join, where, sort, limit } = condition const { table, leftJoin, rightJoin, join, where, sort, limit } = condition
if (!table) { if (!table) {
@ -111,7 +111,7 @@ class Method {
}) })
} }
filterOne(condition, select) { findOne(condition, select) {
condition.limit = [1] condition.limit = [1]
return this.filter(condition, select).then(row => { return this.filter(condition, select).then(row => {
return row[0] || null return row[0] || null

View File

@ -1,10 +1,10 @@
{ {
"name": "mysqli", "name": "mysqli",
"version": "2.0.1", "version": "2.1.0",
"description": "MySQL tool", "description": "MySQL tool",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"es.shim": "^0.0.2", "es.shim": "^0.0.3",
"mysql": "^2.13.0" "mysql": "^2.13.0"
}, },
"repository": "https://github.com/yutent/mysqli.git", "repository": "https://github.com/yutent/mysqli.git",