从Mongoose查询返回的内容找不到匹配项?
阅读Mongoose文档,我有点困惑。
如果我在与集合中没有任何文档匹配的mongoose中运行查询,callback函数callback(err, results)
的err
和results
的值是什么? 我只是不知道mongoose认为是什么“错误”。 作为一个math家,返回空集(即results
数组为空)似乎是完全有效的,不应该是一个“错误” – 查询执行得很好,只是没有匹配的文件。 另一方面,有人可能认为这是一个“错误”。 从mongoose的文档,无论是:
-
err
= null,results
= [] -
err
= null,results
= null -
err
=错误文档,results
= null
这取决于查询。 如果是find
,那么results == []
。 如果它是一个findOne
,那么results == null
。 没有错误,如果一切正常。
如果条件有效但没有find匹配项:
-
find
:err
为null
,result
为[]
-
findOne
和findById
:err
为null
,result
为null
但是,如果某些条件无效(例如,字段是string
但传递了一个object
,或者传递了无效的_id
)
对于所有三个: err
是{..}
, result
是undefined