What is returned from Mongoose query that finds no matches? What is returned from Mongoose query that finds no matches? mongoose mongoose

What is returned from Mongoose query that finds no matches?


It depends on the query. If it is a find, then results == []. If it is a findOne, then results == null. No errors if everything else is ok.


If conditions were valid but no matches were found:

  • find: err is null, result is []

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

However, if some condition was invalid (e.g. field is string but you pass an object, or you pass an invalid _id)

For all three: err is {..}, result is undefined


If using .find(),
The handy way would be

models.<your collection name>.find({ _id: `your input` }).then(data => {    if (data.length == 0) return // throw your error to the console;});