1 year ago
#76433
Arleen Silva
Node, Mongoose search inside nested object
I have the following Schema:
@Schema()
export class Category extends Document {
@Prop({ required: 'Category name is required' })
name: string;
@Prop({ default: true })
active: boolean;
}
export const CategorySchema = SchemaFactory.createForClass(Category);
And another one that imports this one:
@Schema()
export class Skill extends Document {
@Prop({ required: 'Skill name is required' })
name: string;
@Prop({ default: true })
active: boolean;
@Prop()
category: typeof CategorySchema;
}
export const SkillSchema = SchemaFactory.createForClass(Skill);
And the following query to find the data:
let objects = await this.model
.find(options)
.collation({ locale: "pt" })
.exec();
Everything seems to work, but when I call passing the options to search for the nested object id it doesn't find anything:
const options = {
'category._id': id,
active: true,
};
When I query other property than the nested id, it seems to work fine:
const options = {
'category.name': 'test',
active: true,
};
So, maybe my schema is wrong? Any clues here?
javascript
node.js
mongoose
mongoose-schema
0 Answers
Your Answer