2012-04-08 15 views
0

だから私はIDか電子メールで検索する必要があります。入力は、16進文字列または有効な電子メールとしてのobjectIdにすることができます。電子メールを介して検索するときに、メールが有効なのObjectIDを返すことに失敗したので、mongoose idとメールで見つけてください

今シンプル

User.find({'$or': [{email: req.body.user}, {_id: req.body.user}]}, function(err, user){}) 

は、エラーを投げています。

どうすればこの問題を解決できますか? 1つの可能な方法は、入力が電子メールであるかどうか最初に検出し、そのようにクエリを実行することですが、それ以外の方法はありますか?

答えて

0

実際、これが最良の方法です。アプリケーションでは、まず入力の種類を検出します。それがObjectIdの場合は、_idでクエリします。それが電子メールの場合は、emailによる照会です。

関連する問題