TaffyDB:开源JavaScript数据库
你是否曾经注意到javascript的对象有点像数据库中的记录,你把很多javascript对象包装到一起时就像是你在处理一个数据库中的表,TaffyDB是一个Javascript库,它提供了强大的数据库功能,大大改善了你在Javascript中使用数据的方式。TaffyDB 是一个免费开源的 JavaScript 库,用于在 Web 上实现一个轻量级的数据访问层,也就是一个简单的数据库。
主要特点:
- 很小,只有10K左右
- 简单,JavaScript的语法
- 快速
- 易于集成到任何Web应用
- 兼容主流的Ajax库,例如:YUI, JQuery, Dojo, Prototype, EXT, etc
- CRUD 接口 (Create, Read, Update, Delete)
- 排序
- 循环
- 高级查询
使用例子
创建一个数据库
|
1
2
3
4
5
6
7
|
// Create DB and fill it with recordsvar friends = TAFFY([ {"id":1,"gender":"M","first":"John","last":"Smith","city":"Seattle, WA","status":"Active"}, {"id":2,"gender":"F","first":"Kelly","last":"Ruth","city":"Dallas, TX","status":"Active"}, {"id":3,"gender":"M","first":"Jeff","last":"Stevenson","city":"Washington, D.C.","status":"Active"}, {"id":4,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"} ]); |
使用字段名或者字段的关系过滤
|
1
2
3
4
5
6
7
8
|
// Find all the friends in Seattlefriends({city:"Seattle, WA"});// Find John Smith, by IDfriends({id:1});// Find John Smith, by Namefriends({first:"John",last:"Smith"}); |
很容易访问数据
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// Kelly's recordvar kelly = friends({id:2}).first();// Kelly's last namevar kellyslastname = kelly.last;// Get an array of record idsvar cities = friends().select("id");// Get an array of distinct citiesvar cities = friends().distinct("city");// Apply a function to all the male friendsfriends({gender:"M"}).each(function (r) { alert(r.name + "!");}); |
快速地修改数据
|
1
2
3
4
5
6
7
8
|
// Move John Smith to Las Vegasfriends({first:"John",last:"Smith"}).update({city:"Las Vegas, NV:"});// Remove Jennifer Gill as a friendfriends({id:4}).remove();// insert a new friendfriends.insert({"id":5,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"}); |
浙公网安备 33010602011771号