¿Qué se devuelve de la consulta de Mongoose que no encuentra coincidencias?

Estoy un poco confundido al leer la documentación de Mangosta.

Si ejecuto una consulta en mongoose que no coincide con ningún documento de la colección, ¿cuáles son los valores de err y los results en la callback de la función de callback(err, results) ? Simplemente no sé lo que Mangosta considera un “error”. Como matemático, devolver el conjunto vacío (es decir results matriz de results vacía) parece perfectamente válido y no debería ser un “error”: la consulta se ejecutó bien, simplemente no había documentos coincidentes. Por otro lado, algunos pueden considerarlo un “error”. De los documentos de mongoose, ya sea:

  1. err = nulo, results = []
  2. err = nulo, results = nulo
  3. err = documento de error, results = nulo

Depende de la consulta. Si es un find , entonces results == [] . Si es un findOne , entonces results == null . No hay errores si todo lo demás está bien.

Si las condiciones eran válidas pero no se encontraron coincidencias:

  • find : err es null , el result es []

  • findOne y findById : err es null , el result es null

Sin embargo, si alguna condición no es válida (por ejemplo, el campo es una string pero pasa un object o pasa un _id no _id )

Para los tres: err es {..} , el result undefined está undefined