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

688
Vistas
Cómo configurar el índice compuesto único en NestJS (MongoDB)

Hola, tengo un esquema para el usuario con un correo electrónico único:

 @Schema() export class User { @Prop() firstName!: string; @Prop() lastName!: string; @Prop({ unique: true, }) email!: string; @Prop({ nullable: true }) password?: string; }

Pero ahora quiero extender esto. Quiero tener Grupos con sus propios usuarios. Crearía una colección de grupos y agregaría su identificación a los usuarios como:

 @Schema() export class User { @Prop() groupId: string; @Prop() firstName!: string; ... }

Para cada grupo, el correo electrónico debe ser único. Eso significa que en la colección de usuarios podría haber correos electrónicos duplicados, pero deberían ser únicos por grupo, que se llama Índice compuesto único, supongo.

¿Cómo configuro esto en NestJS?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Parece que no es posible lograrlo únicamente mediante el uso de los @nestjs/mongoose , sin embargo, es posible declarar el índice mediante el uso de SchemaFactory

 @Schema() export class User { @Prop() groupId: string; @Prop() firstName!: string; ... } export const UserSchema = SchemaFactory.createForClass(User); UserSchema.index({ groupId: 1, firstName: 1 }, { unique: true });

Luego debe crear una migración para crear este índice o habilitar la función de índice automático

 @Schema({ autoIndex: true, // <-- }) export class User { @Prop() groupId: string; @Prop() firstName!: string; ... }
over 4 years ago · Santiago Trujillo 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