Я создаю базу данных, к которой может обращаться 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);
Приведенный выше код будет получать все сообщения из базы данных с датами с 10 января 2010 года по 10 декабря 2010 года и т. д. и помещать их как элементы массива в результаты, к которым затем можно получить доступкак обычные объекты, например:
var i;
for(i = 0; i < results.length; i++) {
alert("Result #" + i + ": " + results[i].title);
}
База данных не является SQL, но содержит «типизированные» объекты JSON (если это важно, я могу уточнить далее).
Является ли этот APIНеплохо?Или я должен сделать что-то еще?Я хотел бы избегать использования строк как единственного метода, основанного на MySQL.
Моя другая идея состояла в том, чтобы каким-то образом имитировать DOM (что-то вроде JQuery), но я не уверен, что лучший способ сделатьэто было бы.