Наскільки мені відомо, більшість реляційних баз даних не пропонують жодного 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?