Как заполнить идентификаторы, когда идентификаторы ссылаются на вложенные документы другой модели

#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"})

 

Но это не работает