我有模式
// this is collection schema
@Schema()
export class User {
@Prop()
age: number;
@Prop()
role: string;
@Prop(/* ???????? */)
info: Record<string, Info>;
}
//this is schema of nested object
@Schema()
export class Info {
@Prop()
name: string;
@Prop()
surname: string;
}
我想保持这样的数据格式:
{
age: 20,
role: 'user',
info: {
en: {
name: 'John'
surname: 'Smith'
},
fr: {
name: 'Johny'
surname: 'La`Smith'
},
}
}
so:en
,fr
等…是语言名称(该字段为dynamic),可以有很多语言)
如何在模式上实现这个??(什么应该在Prop()信息字段??)
谢谢!
可能
@Prop({ type: Map, of: SchemaTypes.Mixed })
info: Record<string, Info>;
https://mongoosejs.com/docs/schematypes.html地图我做得不一样
export interface IMeta {
[index: string]: string | number | boolean | object | undefined;
}
@Prop({ type: Map })
meta: IMeta;
[index: string]: string
its索引签名对可能数据的通用描述。