JavaScript数据库API设计
JavaScript DB API design
我正在构建一个可以被JavaScript访问的数据库,我希望能够在JavaScript中表示查询,然后将其转换为其他内容。
目前,我有一个API,它是这样工作的:
var db; /* don't worry about the definition */
var is; /* db functions, don't worry about definition */
/* variables from HTTP session, */
var $session; /* $session == {"user": 12345} */
var results = [];
db.put("posts").
where("date", is.between("January 10 2010", "December 10 2010")).
where("author", is("John Doe")).
where("user", is($session.user).
into(results);
上述代码将从数据库中获取日期在2010年1月10日至2010年12月10日之间的所有帖子,并将它们作为数组元素放入结果中,然后可以像普通对象一样访问,例如:
var i;
for(i = 0; i < results.length; i++) {
alert("Result #" + i + ": " + results[i].title);
}
数据库不是SQL,而是包含"类型化"的JSON对象(如果这很重要,我可以进一步阐述)。
这个API好吗?还是我应该做点别的?我想避免字符串作为MySQL的唯一方法。
我的另一个想法是以某种方式模仿DOM(类似JQuery),但我不确定最好的方法是什么
看看SQLike,它是一个用JavaScript编写的数据库,使用SQL"like"语法。可能正是你想要的。
博客文章:http://www.thomasfrank.se/sqlike.html<-你可以在这里获得未缩小的来源
演示:http://www.thomasfrank.se/SQLike/
它看起来不错——它与其他查询构建语法结构非常相似(请参阅http://framework.zend.com/manual/en/zend.db.select.html以获取PHP库如何进行类似操作的示例)。
相关文章:
- 用于操纵DOM API的Javascript设计模式
- Node.js API设计和路由处理
- 如何设计API,使其符合REST约定和Ember.js方式
- 具有关联的 RESTful API 设计
- 发送网格 - 当我使用 API 发送电子邮件时,我收到的电子邮件缺少所有设计,例如仅显示文本
- 在设计Javascript API时,我应该引发TypeError还是忽略控制台消息
- 在手风琴内设计谷歌地图API
- API 设计:如何组合两个延迟 jQuery 对象的结果
- 谷歌地图API v.3-无法显示信息窗口,或者当我这样做时,地图的中心位于设计位置
- 使用昂贵的API调用进行Reactjs设计
- 覆盖骨干.同步Rails API认证与设计
- API/应用程序设计:用新数组替换非常大的数组或修改现有数组
- 从CouchDB设计文档调用API
- 发布/订阅API设计:取消订阅和更新
- 如何设计具有同步或异步响应的API
- 使用Canvas API时,有哪些典型的设计模式?
- 谷歌图表API:响应式设计
- 使用Google Maps Javascript API v3数据层设计多个GeoJson文件
- 如何设计具有许多回调的Javascript库API
- JavaScript数据库API设计