質問: TypeScriptを使っています。 以下のようにユニーク制約エラーの判定を行いたいのですが、どうすればいいのでしょうか MongoErrorオブジェクトの型定義を見ると、message、stack、nameフィールドしかないようです。 ``` try{ await db.collection("hoge") .insert(foo); }catch(e){ if(/*eがuniqueエラーなら*/){ //処理 }else{ throw e; } } ```
回答: MongoDB でユニーク制約に引っかかったかどうかの判定ですが返って来るエラーコードを確認するという方法で行っていたことがあります。 ユニーク制約であれば11000かどうかを判定すればよいかと思います。 以前使っていたときは Mongoose を使っていたと思うのですがその時は `err.code` で取れたと思います。