Skip to content

Ref en un modelo de mongoose

  • Cuando usamos ref en un campo por ejemplo
js
modifiedBy: {type: Schema.Types.ObjectId, ref: 'User'}

La propiedad ref apunta al modelo global y no al tenant dinamico

js
let ChemicalProductModel: Model<IChemicalProduct>;
if(!req.dbConnection){
  ChemicalProductModel = ChemicalProduct;
}else {
  ChemicalProductModel = getModel<IChemicalProduct>(req.dbConnection!,'ChemicalProduct',ChemicalProductSchema)
}
  • Cuando quitamos ref la population en el controller no va a funcionar, lo que se debe hacer en esos casos es una population manual, usando findById de por ejemplo User
  • this.constructor dentro de un modelo hacer referencia al modelo actual, por lo que en una arquitectura multi-tenant lo podemos reemplazar por el modelo estatico ejemplo en vez de TreatmentPlant.findById(id) usamos (this.constructor as Model<ITreatmentPlant>)