我在阅读Mongoose文档时有点困惑。
如果我在mongoose中运行一个查询,它在集合中没有匹配任何文档,那么回调函数callback(err, results)
中的err
和results
的值是什么?我只是不知道Mongoose认为什么是“错误”。作为一个数学家,返回空集(即results
数组为空)似乎完全有效,不应该是一个“错误”-查询执行良好,只是没有匹配的文档。另一方面,有些人可能会认为这是一个“错误”。从mongoose文档,或者:
err
= null,results
= []err
=空,results
=空err
=错误文档,results
= null
3条答案
按热度按时间mfuanj7w1#
这取决于查询。如果它是
find
,那么results == []
。如果它是findOne
,那么results == null
。如果其他一切正常,则没有错误。eh57zj3b2#
如果条件有效但未找到匹配项:
find
:err
是null
,result
是[]
findOne
和findById
:err
是null
,result
是null
但是,如果某些条件无效(例如,字段为
string
,但您传递了object
,或者您传递了无效的_id
)err
是{..}
,result
是undefined
zvms9eto3#
如果使用
.find()
,方便的方法是
字符串