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" }); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2014-04-15 html 滚动固定显示js脚本
2014-04-15 asp.net 导出excel的一种方法
2014-04-15 微软通过.NET Native为Windows Store应用提速
2014-04-15 .NET基金会成立