从Mongoose查询返回的内容找不到匹配项?

阅读Mongoose文档,我有点困惑。

如果我在与集合中没有任何文档匹配的mongoose中运行查询,callback函数callback(err, results)errresults的值是什么? 我只是不知道mongoose认为是什么“错误”。 作为一个math家,返回空集(即results数组为空)似乎是完全有效的,不应该是一个“错误” – 查询执行得很好,只是没有匹配的文件。 另一方面,有人可能认为这是一个“错误”。 从mongoose的文档,无论是:

  1. err = null, results = []
  2. err = null, results = null
  3. err =错误文档, results = null

这取决于查询。 如果是find ,那么results == [] 。 如果它是一个findOne ,那么results == null 。 没有错误,如果一切正常。

如果条件有效但没有find匹配项:

  • finderrnullresult[]

  • findOnefindByIderrnullresultnull

但是,如果某些条件无效(例如,字段是string但传递了一个object ,或者传递了无效的_id

对于所有三个: err{..}resultundefined