Как задать пользовательские типы свойству типа мангуста?

#typescript #mongoose #model #nested #schema

Вопрос:

У меня есть объект базы данных, который выглядит так, и я должен создать модель Мангуста для того же:

 name: "test"
email: "test@gmail.com"
addresses: [
  {
    address: "test",
    addressType: "home",
  },
]
 

Для этого я создал интерфейс IAddress, который выглядит следующим образом:

 interface IAddress {
  address: string;
  addressType: string;
}
 

Я ссылался на этот интерфейс в своем интерфейсе пользователя следующим образом:

 interface IUser extends Document {
  name: string;
  email: string;
  addresses: [IAddress];
}
 

Для создания схемы мангуста я хочу использовать этот пользовательский тип IAddress в своей User схеме со свойством типа для addresses поля. Есть ли способ сделать это?
Я рассмотрел альтернативы этому, создав отдельную схему типа IAddress , а затем сославшись на нее в addresses свойстве пользовательской схемы.