目次
Knex.jsの「returning」メソッドの利用方法
Knex.jsはJavaScriptのための強力なSQLクエリービルダーです。
特にPostgreSQL, Microsoft SQL Server, Oracleなどのデータベースを利用する際、INSERTやUPDATE操作後のレコードの値を取得するためのreturningメソッドが役立ちます。
基本的な利用法
データベースに新しいレコードを追加して、生成されたIDを取得する一般的なシナリオを考えます。
knex('users')
.insert({ name: 'John' })
.returning('id')
.then(ids => {
console.log(ids);
});
上記のコードでは、usersテーブルに新しいレコードをINSERTし、その後で生成されたIDをreturningメソッドを使って取得します。
複数のカラムを返す
returningメソッドは、1つのカラムだけでなく、複数のカラムの値も取得することができます。
knex('users')
.insert({ name: 'John' })
.returning(['id', 'created_at'])
.then(response => {
console.log(response);
});
この例では、idとcreated_atの2つのカラムの値を取得します。
注意点
すべてのデータベースがreturningメソッドをサポートしているわけではありません。
MySQLやMariaDBなどのデータベースではこのメソッドは使用できませんので、その点を考慮してください。
まとめ
Knex.jsのreturningメソッドは、データベース操作後の特定のカラムの値を簡単に取得するための便利なツールです。
サポートしているデータベースを使用している場合、このメソッドを積極的に利用することで、開発の効率を大幅に向上させることができます。