目次
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
メソッドは、データベース操作後の特定のカラムの値を簡単に取得するための便利なツールです。
サポートしているデータベースを使用している場合、このメソッドを積極的に利用することで、開発の効率を大幅に向上させることができます。