J'essaie d'assigner un tableau de Article
à mon document mongoose, mais il semble que Typescript n'aime pas ça et je ne sais pas pourquoi il montre cet avertissement/erreur que ce n'est pas assignable.Typescript Interface [] vs [Inferface]
Mes Schemas mangouste et interfaces (simplifié):
interface Profile {
username: string,
articles: [Article]
}
interface Article {
index: number,
name: string,
}
// Mongoose model
export interface IProfile extends Profile, Document { }
const Article = new Schema({
index: { type: Number, required: true },
name: { type: String, required: true },
}, { _id: false })
const Profile = new Schema({
username: { type: String, index: true },
upcomingChests: { type: [Article] },
}, { timestamps: true })
export const Profile = model<IProfileModel>('IProfile', Profile)
Mon code en essayant d'assigner les articles:
const profile: Profile = values[0]
const articles: Array<Article> = values[1]
profile.articles = articles // Error/Warning pops up in this line
[ts] Type 'article []' est incessible taper '[Article]'.
La propriété '0' est manquante dans le type 'Article []'.
Ma question:
Pourquoi dit-il est incessible et quelle est la différence entre [l'article] et à l'article [] du tout?
La duplication possible de [Type 'Array \ [\]' n'est pas assignable au type '\ [Array \]'] (https://stackoverflow.com/questions/40697919/type-array-is-not-assignable -to-type-array) – jcalz