Насколько я знаю, большинство реляционных баз данных не предлагают API-интерфейсы на уровне драйвера для запросов, кроме query
функции, которая принимает строку SQL в качестве аргумента.
Я думаю, как было бы легче, если бы можно было сделать:
var result = mysql.select('article', {id: 3})
Для объединенных таблиц это будет немного сложнее, но все же возможно. Например:
var tables = mysql.join({tables: ['article', 'category'], on: 'categoryID'});
mysql.select(tables, {'article.id': 3}, ['article.title', 'article.body', 'category.categoryID'])
Более чистый код, нет необходимости разбора строк, нет проблем с внедрением, проще повторное использование элементов запроса ... Я вижу много преимуществ.
Есть ли конкретная причина, по которой он был выбран для предоставления доступа к запросам только через SQL?