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:
-
err
= null,results
= [] -
err
= null,results
= null -
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
esnull
, elresult
es[]
findOne
yfindById
:err
esnull
, elresult
esnull
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