JavaScript数据库:Taffy DB

openkk 12年前

TaffyDB 是一个免费开源的 JavaScript 库,用于在 Web 上实现一个轻量级的数据访问层,也就是一个简单的数据库。

主要特点:

  • 很小,只有10K左右
  • 简单,JavaScript的语法
  • 快速
  • 易于集成到任何Web应用
  • 兼容主流的Ajax库,例如:YUI, JQuery, Dojo, Prototype, EXT, etc
  • CRUD 接口 (Create, Read, Update, Delete)
  • 排序
  • 循环
  • 高级查询

这就是浏览器上的SQL数据库:)

创建一个数据库
// 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"}   ]);

过滤器使用的数据库的名称和对象的比较
// 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"});

轻松读取数据
// 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 + "!");  });

快速修改数据
// 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"});

项目主页:http://www.open-open.com/lib/view/home/1345943714536