我正在构建可以通过JavaScript访问的数据库,并且我希望能够在JavaScript中表示查询,然后将其转换为其他内容。JavaScript数据库API设计
目前,我有工作原理是这样的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 objectes(如果这是重要的,我可以进一步推敲)。
这个API很好吗?还是我应该做点别的?我想避免字符串作为MySQL的唯一方法。
我的另一个想法是莫名其妙地模仿DOM(类似JQuery的),但我不知道这样做的最佳方式是什么。