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

392
Vistas
nestjs mangosta El tipo 'cadena' no se puede asignar al tipo 'Condición<LeanDocument<Usuario>>

Estoy usando nestjs con mangosta. Intento hacer una consulta de búsqueda simple

 this.challengesModel.find({ createdBy: userId })

donde this.challengesModel se inyecta así

 private readonly challengesModel: Model<Challenge>

pero dice

 Type 'string' is not assignable to type 'Condition<LeanDocument<User>>'

createdBy se considera un objeto de usuario mientras que le doy una cadena (ID de usuario) ¿Cómo puedo mantener el campo createdBy como usuario buscando solo por la identificación?

este es mi esquema

 @Schema() export class Challenge extends Document { @Prop({ type: mongoose.Schema.Types.ObjectId, ref: "User" }) createdBy: User; @Prop() description: string; @Prop({ default: new Date() }) creationTime: Date; @Prop() video: string; @Prop({ default: [] }) likes: string[]; @Prop({ type: [{ type: mongoose.Schema.Types.ObjectId, ref: "User" }] }) selectedFriends: User[]; @Prop({ type: [{ type: mongoose.Schema.Types.ObjectId, ref: "Reply" }] }) replies: Reply[]; }

El createdBy se guarda como una identificación única del usuario (clave externa a la colección de usuarios). Estoy tratando de realizar una consulta para encontrar desafíos que fueron creados por un usuario con una identificación específica. Si cambio createdBy para que sea una cadena (id), funciona, pero luego no obtengo todas las propiedades del usuario, también la documentación del nido sugiere crearlo como lo hice yo. ¿Qué debo cambiar para poder hacer esta búsqueda sin errores de compilación?

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

0

Tratar

 this.challengesModel.find({ createdBy: userId as any })

Esto se debe a que createdBy no es un tipo de cadena.

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