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 records
var 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 Seattle
friends({city: "Seattle, WA" });
 
// Find John Smith, by ID
friends({id:1});
 
// Find John Smith, by Name
friends({first: "John" ,last: "Smith" });

很容易访问数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Kelly's record
var kelly = friends({id:2}).first();
 
// Kelly's last name
var kellyslastname = kelly.last;
 
// Get an array of record ids
var cities = friends().select( "id" );
 
// Get an array of distinct cities
var cities = friends().distinct( "city" );
 
// Apply a function to all the male friends
friends({gender: "M" }).each( function (r) {
    alert(r.name +  "!" );
});

快速地修改数据

1
2
3
4
5
6
7
8
// Move John Smith to Las Vegas
friends({first: "John" ,last: "Smith" }).update({city: "Las Vegas, NV:" });
 
// Remove Jennifer Gill as a friend
friends({id:4}).remove();
 
// insert a new friend
friends.insert({ "id" :5, "gender" : "F" , "first" : "Jennifer" , "last" : "Gill" , "city" : "Seattle, WA" , "status" : "Active" });

 

github网址:https://github.com/typicaljoe/taffydb

官网:http://taffydb.com

你可能感兴趣的:(JavaScript)