¿Qué devuelve la consulta Mangosta que no encuentra coincidencias?


Estoy un poco confundido leyendo la documentación de la Mangosta.

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

  1. err = null, results = []
  2. err = null, results = null
  3. err = documento de error, results = null
Author: Community, 2013-08-13

2 answers

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.

 31
Author: randunel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-13 16:44:27

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

  • find: err es null, result es []

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

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

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

 5
Author: cute_ptr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-01 13:23:30