Intentando simplemente incluir un campo que tiene seleccionado establecido en falso dentro del esquema. Anularlo con el método de selección no funciona por algún motivo. La exclusión de otros campos funciona pero la inclusión no. En el siguiente ejemplo, intento incluir el campo "active_account". ¿Qué podría estar causando este comportamiento?
Esquema
const Schema = new mongoose.Schema({ active_account: { type: Boolean, default: true, select: false } })Función
exports.deactivate_user = async ( req , res , next ) => { const user = await User.findByIdAndUpdate( req.params.id , { active_account: false } ).select( '+active_account' ); res.status( 200 ).json({ status: 'Success', data: user }); };De acuerdo con los documentos ;
A.findByIdAndUpdate(id, actualización, opciones) // devuelve Consulta
Asi que,
const user = await User.findByIdAndUpdate( req.params.id, //id { active_account: false }, //update { select: 'active_account', new: true } //options ); establezca new = true para obtener la versión actualizada de los datos.