Tengo una base de datos con algunos objetos que tienen una matriz de tarjetas incrustada.
Quiero obtener una tarjeta con una identificación coincidente de un usuario que coincida con la identificación que estoy buscando. hasta ahora solo puedo devolver la tarjeta equivocada.
async getCard(id: string, cardId: string) { if (!id) throw new CardNotFoundError(id); let query = {'user.id': id, 'cards.id': cardId}; const card = (await this.byQuery(query)).cards[0]; if (card) return card; throw new CardNotFoundError("" || id); }mi esquema
const CardUserSchema = new Schema( { id: { ...trimmedString, required: true, index: true, unique: true }, phoneNumber: { ...trimmedString, required: true, unique: true }, email: { ...trimmedString, required: false }, } const CardSchema = new Schema({ id: { ...trimmedString, required: true, index: true, unique: true }, }) const CardMainSchema = SchemaFactory( { id: { ...trimmedString, required: true, index: true, unique: true } user: { type: CardUserSchema, required: true }, cards: {type: [CardSchema], default: []} })