From 5a3ea70687160138aa3d3a50be95a6b5cffb3020 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=87=E5=A4=A9?= Date: Sat, 3 Mar 2018 20:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- History.md | 2 +- Readme.md | 28 ++++++++-------------------- lib/method.js | 4 ++-- package.json | 4 ++-- 4 files changed, 13 insertions(+), 25 deletions(-) diff --git a/History.md b/History.md index 66212cc..44e3329 100644 --- a/History.md +++ b/History.md @@ -1,4 +1,4 @@ -2.1.0 / 2017-12-14 +2.1.0 / 2018-03-03 ================== * 大重构, 更加简练, 结构也更加合理 diff --git a/Readme.md b/Readme.md index b67e34d..33bd64f 100644 --- a/Readme.md +++ b/Readme.md @@ -2,11 +2,7 @@ # mysqli -> 本模块基于 node-mysql 模块二次封装,对基础的增删改查,主从库等按 js 的特点进行 -> 了简化,并对 SQL 注入进行安全过滤,让没有 SQL 基础的人,也能顺利使用 ; 当然, -> 一些复杂的查询,以及事务等,这些不在我的服务之内,而且会用到这些功能的童鞋,本 -> 身也有一定的 SQL 基础了 ; 所以,这类童鞋,请自行使用各自习惯的 SQL 模块,或手 -> 写实现。 +> 本模块基于 node-mysql 模块二次封装,将SQL语法转为类似MongoDB的API。对常用的增删改查提供了简单的API, 并且进行了SQL注入过滤, 对新手非常友好。 ## 使用 npm 安装 @@ -16,7 +12,7 @@ npm install mysqli ## 实例化 -> 实例化可以传 2 种格式的配置,1 是 json 对象,2 是数组。只有一个数据库时,默认 +> 实例化可以传入一个数组,或单个object配置。只有一个数据库时,默认 > 是主库 ; 多于 1 个数据库服务时,自动以第 1 个为主库,其他的从库,故实例化时 > ,`注意顺序`。 @@ -74,7 +70,7 @@ Mysqli.escape('这是文本') > 触发一个数据库实例 , 可接受 2 个参数 , 第 1 个为 " 是否从库 ", 第 2 个为 " 数 > 据库名称 " - +> `这一步是必须要的, ` ```javascript const Mysqli = require('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 ``, 查询条件 * select ``, 要返回字段 , 默认全部返回 @@ -131,18 +127,10 @@ db.query(`select * from users limit 10`).then(row => { ```javascript db - .filter( + .find( { table: '', // 要查询的表 - where: [ - { - //数组格式,可以组成多个条件,默认查询全表 【可选】 - join: 'OR', //条件关系 AND, OR - op: '>', //关系符,如 =, >, <, <=, >= - key: 'aa', - val: 23 - } - ], + where: {foo: 'bar', goo: {$like: 'hello%'}}, //条件, 语法类似mongodb sort: { //排序, key是要排序的字段,value是排序方式, 1顺序,-1逆序 【可选】 a: 1, @@ -150,14 +138,14 @@ db }, limit: [0, 1] // 查询范围,可用于分页 【可选】 }, - ['a', 'b'] + ['id', 'name'] //要select的字段 ) .then(row => { console.log(row) }) ``` -### 7. filterOne(condition) +### 7. findOne(condition) * condition `` diff --git a/lib/method.js b/lib/method.js index f059bcb..5cb2258 100644 --- a/lib/method.js +++ b/lib/method.js @@ -67,7 +67,7 @@ class Method { }) } - filter(condition, select) { + find(condition, select) { const { table, leftJoin, rightJoin, join, where, sort, limit } = condition if (!table) { @@ -111,7 +111,7 @@ class Method { }) } - filterOne(condition, select) { + findOne(condition, select) { condition.limit = [1] return this.filter(condition, select).then(row => { return row[0] || null diff --git a/package.json b/package.json index 70f7bf5..decafa2 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "mysqli", - "version": "2.0.1", + "version": "2.1.0", "description": "MySQL tool", "main": "index.js", "dependencies": { - "es.shim": "^0.0.2", + "es.shim": "^0.0.3", "mysql": "^2.13.0" }, "repository": "https://github.com/yutent/mysqli.git",