技術ブログ

プログラミング、IT関連の記事中心

Knex.jsの「returning」メソッドの利用方法

目次

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);
  });

この例では、idcreated_atの2つのカラムの値を取得します。

注意点

すべてのデータベースがreturningメソッドをサポートしているわけではありません。
MySQLやMariaDBなどのデータベースではこのメソッドは使用できませんので、その点を考慮してください。

まとめ

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