私の知る限り、ほとんどのリレーショナルデータベースはquery
、引数としてSQL文字列を受け取る関数を除き、クエリ用のドライバレベルAPIを提供していません。
私はそれができるとしたらどれほど簡単になると思っています:
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を介したクエリへのアクセスのみを提供するように選択された具体的な理由はありますか?