2016-07-12 5 views
-1

に正確に何を返すん:findOne()がコールバックに渡すマングース

function(err, found) { 

if(err) 
// checks to see if there was an error 

else if (found) 
// checks if the document exists 

} 

クエリを実行するために、「すぐに」。これは、文書が存在するかどうかを確認する正しい方法ですか?ドキュメントが存在するかどうかはどのように判断できますか?クエリの実行中にエラーが発生したかどうかを確認するにはどうすればよいですか(データベースが結果を返す前に接続が失われたとします)。私はちょっと混乱しているし、いくつかの説明は非常に高く評価されるだろう。

答えて

0

あなたが持っているものは正常に動作します。

エラーが発生した場合は、エラーをスローする必要があります。

クエリがドキュメントを返した場合、foundはデフォルトでtrueになります。

次に、2番目のif文の中で見つかったオブジェクトを使用することができます。

クエリが成功したが、どのユーザが見つからなかったかどうかを確認するには、次の

function(err, found) { 

    if(err){ 
     throw err; 
    } 

    if(found){ 
     console.log(JSON.stringify(found)); 
    }else{ 
     console.log('The query was successful, but nothing was found'); 
    } 
} 
+0

クエリは、ドキュメントを返さなかった場合はどう?デフォルトはfalseになりますか?ヌル? – Rockstar5645

+0

あなたはif文の後にelse文でそれを捕まえることができます。私は私の答えであなたを見せます。 – Tom

関連する問題