我正在構建可以通過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的),但我不知道這樣做的最佳方式是什麼。