上記のようなEntityの場合、email
やpassword
といった非セキュアなカラムをAPIのレスポンスに含めず秘匿にしたい場合がある。(別テーブルに切り出すという選択肢はここでは考慮しない)
TypeORMでは上記のようにselect
オプションにそれ以外のカラムを指定することでそれが実現できる。
しかしfind
する度に毎回それを指定するのは手間かつ冗長だし、何よりうっかり忘れることもあるので危険性がある。
解決法
特定のカラムにselect: false
を指定する。
こうすることでfind
する度に毎回特定のカラムを除外する必要が無くなる。
逆にselect: false
としたカラムを取得したい場合はselect
オプションで明示的に含めればよい。
1