Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

697
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda