Mongooseのドキュメントを読んで少し混乱しています。
コレクション内のどのドキュメントとも一致しないクエリをmongooseで実行した場合、コールバック関数callback(err, results)
のerr
およびresults
の値は何ですか? Mongooseが「エラー」と見なしているものを知りません。数学者として、空のセット(つまり、results
配列が空)を返すことは完全に有効であり、「エラー」であってはなりません。クエリは正常に実行され、一致するドキュメントはありませんでした。一方、「エラー」と見なす人もいます。マングースのドキュメントから、次のいずれか:
err
= null、results
= []err
= null、results
= nullerr
=エラードキュメント、results
= nullクエリによって異なります。 find
の場合、results == []
。 findOne
の場合、results == null
。他に問題がなければ、エラーは発生しません。
条件は有効であるが一致が見つからなかった場合:
find
:err
はnull
、result
は[]
findOne
およびfindById
:err
はnull
、result
はnull
ただし、一部の条件が無効であった場合(たとえば、フィールドがstring
であるがobject
を渡した場合、または無効な_id
を渡した場合)
3つすべての場合:err
は{..}
、result
はundefined