Подтвердить что ты не робот

Что возвращается из запроса Mongoose, который не находит совпадений?

Я немного смущен, читая документацию Mongoose.

Если я запускаю запрос в mongoose, который не соответствует никаким документам в коллекции, каковы значения err и results в функции обратного вызова callback(err, results)? Я просто не знаю, что Монгуосе считает "ошибкой" . Как математик, возврат пустого набора (т.е. results array empty) представляется совершенно корректным и не должен быть "ошибкой" - запрос выполнялся отлично, не было только соответствующих документов. С другой стороны, некоторые могут считать это "ошибкой" . Из документов mongoose:

  • err= null, results= []
  • err= null, results= null
  • err= документ с ошибкой, results= null
4b9b3361

Ответ 1

Это зависит от запроса. Если это find, то results == []. Если это findOne, то results == null. Нет ошибок, если все остальное в порядке.

Ответ 2

Если условия действительны, но совпадений не найдено:

  • find: err is null, result is []

  • findOne и findById: err is null, result is null

Однако, если какое-либо условие было недопустимым (например, поле string, но вы передаете object, или вы передаете недопустимый _id)

Для всех трех: err is {..}, result is undefined