1

我对 Typegoose 还很陌生。我创建了一个类,该类的字段应该有一个数字数组,例如:

class A {
  ... some other properties ...

  @prop({ required: true })
  public nums!: number[];
}

以下是填充新对象的示例代码:

let field = {};
field.nums= {1,2,3};
a = new A(field);

我面临的问题是,每当我创建类的新对象时,程序不会将{1,2,3}保存在nums字段中,而是将其保存为{{1},{2},{3 }}。但是,当我将nums的类型从number[]更改为Object时,这些值会根据需要存储。

PS我还尝试将nums的类型从number []更改为Array,但仍然面临同样的问题。

4

1 回答 1

2

由于typegoose github repo 上发布的问题,我已经解决了这个问题。根据帖子,在使用数组类型的属性时,@prop装饰器中需要另一个属性来标识数组中对象的类型。以下是更新后的示例代码:

class A {
  ... some other properties ...

  @prop({ required: true, type: [Number] })
  public nums!: number[];
}
于 2020-09-30T17:44:04.843 回答