-
Notifications
You must be signed in to change notification settings - Fork 19
jsonDB核心模块功能
戚银 edited this page May 19, 2015
·
3 revisions
#jsonDB核心模块功能 1.jsonDB([[data],dbName])
概述:创建jsonDB数据库模型实例
参数:
data (可选)
json库/表数据
dbName(可选)
数据库/表名称,默认为json_db
返回值:jsonDB
2.init([alias])
概述:初始化jsonDB数据库模型,可以通过alias对jsonDB()方法设置一个别名,便于数据操作。
参数:
alias(可选)
通过alias对jsonDB()方法设置一个别名
返回值:jsonDB
3.query(sql)
概述:执行一个sql语句,该方法支持select、delete、update操作,其中select支持选择指定字段、from、where、order by、limit字句,delete支持from、where、limit字句,update支持from、set、where、limit字句,该方法实现了数据库基本的sql语句操作。query()方法并不支持insert语句,因为采用json数据格式的原因,顾采用insert方法单独实现一个高效可行的insert操作方法。
参数:
sql(必选)
要执行的sql语句,必须是select、delete、update中的一种。
返回值:
select语句返回查询结果,delete和update语句会返回执行影响操作的条数
4.insert(data[,dbName])
概述:向数据表末端插入一条数据或者向数据库中插入一个数据表
参数:
data (必选)
要插入的数据
dbName(可选)
数据库或数据表的名称,默认为json_db
返回值:jsonDB
5.findAll([dbName])
概述:快速获取指定数据库/表中的全部数据,主要用来对数据处理完成后,需要保存数据时使用,例如删除指定数据后调用该方法获取全部删除后的数据并存储在本地存储中,当然不同的应用可能实现不同的功能。
参数:
dbName(可选)
数据库或数据表名称。默认为json_db
返回值:指定数据库或数据表的数据
#jsonDB基础应用示例
//创建一张user数据表,并定义一个DB的jsonDB别名
var data = [{username:'张三',sex:'男',birthday:{year:2000,month:6,day:18}},{username:'李红',sex:'女',birthday:{year:1986,month:9,day:22}}];
//以下方法可以通过两种方式获取别名,一个是通过init方法获取(推荐),一个是获取jsonDB()方法的返回值
//以后示例中都将使用init()方法创建的别名操作数据
var jDB = jsonDB(data,'user').init('DB');
//插入一条新的数据
data = {username:'李想',sex:'男',birthday:{year:1990,month:2,day:15}};
DB.insert(data,'user');
//查询姓名为李红的性别,where条件必须加()否者会出现错误
var result =DB.query('select sex from user where (username="李红")');
//结果:[{"sex":"女"}]
//查询2000年之前出生的且按出生年先后排序
var result =DB.query('select * from user where (birthday.year<2000) order by birthday.year asc');
//结果:[{"username":"李红","sex":"女","birthday":{"year":1986,"month":9,"day":22}},{"username":"李想","sex":"男","birthday":{"year":1990,"month":2,"day":15}}]
//查询年龄最小的两个人
var result =DB.query('select * from user order by birthday.year desc limit 2');
//查询结果:[{"username":"张三","sex":"男","birthday":{"year":2000,"month":6,"day":18}},{"username":"李想","sex":"男","birthday":{"year":1990,"month":2,"day":15}}]
//修改李红的出生日期
var result =DB.query('update user set birthday.year=1991 where (username="李红") limit 1');
//影响条数为一条,可以通过DB.findAll('user')获取全部数据查看是否被修改成功
//删除姓名为李想的数据
var result =DB.query('delete from user where (username="李想") limit 1');
//影响条数为一条,可以通过DB.findAll('user')获取全部数据查看是否被删除成功
//数据库中所有数据
//[{"username":"张三","sex":"男","birthday":{"year":2000,"month":6,"day":18}},{"username":"李红","sex":"女","birthday":{"year":1991,"month":9,"day":22}}]