そのため、IDまたはメールで検索する必要があります。入力は、16 進文字列としての objectId または有効な電子メールにすることができます。
今はシンプル
User.find({'$or': [{email: req.body.user}, {_id: req.body.user}]}, function(err, user){})
電子メールが有効な objectId を返さないため、電子メールで検索するとエラーがスローされます。
どうすればこれを乗り越えられますか? 入力が電子メールかどうかを最初に検出してから、そのようにクエリを実行する方法があることはわかっていますが、より良い方法はありますか?