Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

148
Vistas
Los ganchos pre y post de Mongoose no funcionan en modelos creados con Model.discriminator

Estoy usando mangosta 6.1.5.

Tengo una colección que contiene varios tipos de documentos relacionados. Aquí está parameter-descriptor-item.model.js

 const mongoose = require('mongoose'); const { Schema } = mongoose; /** @summary The schema for a parameter item */ const itemSchema = new Schema({ _id: String, name: Object, }); itemSchema.pre(/^find/, function () { // eslint-disable-next-line no-console console.log('item pre hit'); }); /** @summary The base model for all parameter items */ module.exports = mongoose.model('Parameters', itemSchema);

El modelo ParameterDescriptor se hereda de ParameterDescriptorItem . Aquí está parameter-descriptor.model.js

 const mongoose = require('mongoose'); const ParameterDescriptorItem = require('./parameter-descriptor-item.model'); const { Schema } = mongoose; /** @summary The schema for additional fields for a project */ const parameterSchema = new Schema({ direction: { type: String, enum: ['in', 'out'], required: true, }, default: { type: Number, required: true, }, min: { type: Number, required: false, }, max: { type: Number, required: false, }, unit: { type: String, required: false, }, }); parameterSchema.pre(/^find/, function () { // eslint-disable-next-line no-console console.log('parameter pre hit'); }); /** @summary The model for a parameter descriptor */ module.exports = ParameterDescriptorItem.discriminator('Parameter', parameterSchema);

Y aquí está el código para probar el uso de ganchos pre .

 const ParameterDescriptorItem = require('./parameter-descriptor-item.model'); const ParameterDescriptor = require('./parameter-descriptor.model'); await ParameterDescriptorItem.find(); // console shows: 'item pre hit' await ParameterDescriptor.find(); // there is nothing additional in the console. Neither the 'pre' hooks from // ParameterDescriptorItem or ParameterDescriptor is called.

Este es un tema importante para mí. ¿Hay alguna manera de abordarlo? ¿Hay alguna manera de agregar ganchos previos y posteriores a los modelos creados con Model.discriminator?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda