update nodejs example node.js mongodb mongoose database

node.js - nodejs - ¿Qué devuelve la consulta de Mongoose que no encuentra coincidencias?



mongoose vs mongodb (2)

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

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

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

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 fueron 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 se pasa un object , o se pasa un _id no _id )

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