#node.js #mongodb #mongoose
Вопрос:
Я пытаюсь заполнить массив идентификаторов объектов, который ссылается на вложенный документ другой модели, я не создал модель этого вложенного документа.
Вот пример
const UserSchema = new Schema({
name: {
type: String,
},
interests: [{ type: Schema.Types.ObjectId, ref: 'Interest' }],
}, {timestamps: true});
const Users = model('User', UserSchema);
const SubCategorySchema = new Schema({
name: { type: String }
});
export const InterestSchema = new Schema({
categoryName: { type: String },
subCategory: [SubCategorySchema]
});
const Interests = model('Interest', InterestSchema);
Документ, представляющий интерес
[
{
"_id": "60bffb7439ffa329c0904634",
"categoryName": "",
"subCategory": [
{
"_id": "60bffbd83d7f4e55a086c966",
"name": "Hedge Fund"
},
{
"_id": "60bffc163d7f4e55a086c967",
"name": "Private Equity"
},
{
"_id": "60bffc773d7f4e55a086c969",
"name": "Venture Capital"
}
]
}
]
Пользовательский документ:
[{
name: "test",
interests: ["60bffc163d7f4e55a086c967"]
}]
Итак, теперь interests
у меня есть идентификаторы объектов документа подкатегории, теперь это то, что я пробовал
Users.find({}).populate({path: "Interest.subCategory"})
Но это не работает