tutorial servidor pagina node llamar formulario español desde crear conectar con node.js mongodb mongoose

node.js - servidor - node js ya



¿Qué parámetros se pasan a las devoluciones de llamada de Mangosta? (3)

En la documentación de mangostas con frecuencia se enumera una devolución de llamada opcional para ciertos operadores de consulta (como findOneAndUpdate ), sin embargo, no menciona qué parámetros (argumentos) toma la devolución de llamada. ¿Qué son, y cómo lo descubriría?

Además, si las conditions , la update , etc. son opcionales, y quiero especificar una devolución de llamada al final, ¿tengo que pasar el valor null , o vaciar los objetos o puedo simplemente especificar la devolución de llamada, y la manguera lo sabe Mongoose?

Model.findOneAndUpdate([conditions], [update], [options], [callback])


De acuerdo con la documentación oficial de la mangosta, puedes llamar a findOneAndUpdate como este

query.findOneAndUpdate(conditions, update, options, callback) // executes query.findOneAndUpdate(conditions, update, options) // returns Query query.findOneAndUpdate(conditions, update, callback) // executes query.findOneAndUpdate(conditions, update) // returns Query query.findOneAndUpdate(update, callback) // returns Query query.findOneAndUpdate(update) // returns Query query.findOneAndUpdate(callback) // executes query.findOneAndUpdate() // returns Query

Entonces puede pasar su devolución de llamada, no es necesario pasar nulo para otros parámetros

http://mongoosejs.com/docs/api.html#query_Query-findOneAndUpdate


Para casi todas las consultas de mangostas , se llamará a la función de callback llamada con dos argumentos en la devolución de llamada del patrón de callback(err, results) llamada del nodo callback(err, results) como se indica en la documentación:

Cuando se pasa una devolución de llamada a una consulta en Mongoose, la devolución de llamada sigue la callback(error, results) llamada del patrón callback(error, results) . Los resultados dependen de la operación: para findOne() es un documento único potencialmente nulo , find() una lista de documentos , count() el número de documentos , update() el número de documentos afectados , etc. La API documentos para Modelos proporcionan más detalles sobre lo que se pasa a las devoluciones de llamada.


Por defecto, puede obtener dos parámetros en la función de devolución de llamada: err y results . El primero contiene los errores que ocurrieron durante el tiempo de ejecución y el segundo tiene el valor anterior del documento. Sin embargo, puede obtener otras variables en los parámetros de devolución de llamada si establece algunas opciones en el método findOneAndUpdate . Veamos esto con un ejemplo:

Model.findOneAndUpdate( { id: id_var }, { $set: { name: name_var } }, {new: true, passRawResult: true}, (err, doc, raw) => { /*Do something here*/ })

En este caso, la new: true opción new: true indica que la variable doc contiene el nuevo objeto actualizado. La opción passRawResult: true indica que puede obtener el resultado bruto del controlador MongoDB como el tercer parámetro de devolución de llamada. El parámetro raw contiene el resultado de la actualización, algo como esto:

"raw": { "lastErrorObject": { "updatedExisting": true, "n": 1 }, "value": { /*the result object goes here*/}, "ok": 1, "_kareemIgnore": true }