Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

388
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!