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

96
Vistas
Cómo establecer un valor de propiedad basado en otra propiedad en Mongoose

Tengo el siguiente esquema como ejemplo:

 const categorySchema = new mongoose.Schema({ categoryId: {type: Number}, title: {type: String, default: "standard"}, })

Quiero que la categoría con categoryId igual a 1, siempre debe ser "estándar", y si no se especifica el título, asignará categoryId = 1. ¿Hay alguna forma de hacerlo en Mongoose?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Ok, entonces tenemos dos casos aquí:

  1. categoría con categoryId igual a 1, siempre debe ser "estándar"

Podrías usar un gancho previo, el código sería así:

 const categorySchema = new mongoose.Schema({ categoryId: {type: Number}, title: {type: String, default: "standard"}, }) categorySchema.pre('save', function (){ if(this.categoryId === 1){ this.title = "standard"; } }) const categoryModel = mongoose.model('Category', categorySchema); const category = new categoryModel({title: 'Greaat', categoryId: 1}); await category.save();
  1. si no se especifica el título, asignará el categoryId = 1

Con su código actual, no debería funcionar porque está indicando con default: "standard" que si no se especifica un título, debe asignar estándar como predeterminado, por lo que debe dejar la propiedad predeterminada y administrarla en el enlace previo para lograr eso, pero esa lógica me parece complicada, tal vez necesites pensar un poco mejor cuál es el problema, porque este tipo de soluciones son demasiado complicadas en mi humilde opinión.

about 4 years ago · Juan Pablo Isaza Denunciar
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