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?
Tratar
this.challengesModel.find({ createdBy: userId as any })Esto se debe a que createdBy no es un tipo de cadena.