0

我是 typegoose 的新手,我正在尝试使用 ProductModel.find().populate('category') 填充类别字段,但程序抛出该错误:尚未为模型“ref”注册架构。\n使用猫鼬.model(name, schema)我可以知道我缺少什么吗?

我的产品型号:

import { getModelForClass, prop, Ref, plugin } from '@typegoose/typegoose';
import { Category } from './category.model';

export class Product {
  @prop({ required: true })
  public name?: string;

  @prop({ default: null })
  public photo?: string;

  @prop({ default: 0 })
  public rating?: number;

  @prop({ ref: () => Category, required: true })
  public category?: Ref<Category>;
}

export default getModelForClass(Product);

我的类别模型:

import { getModelForClass, prop } from '@typegoose/typegoose';

export class Category {
  @prop({ required: true })
  public name?: string;

  @prop({ default: null })
  public photo?: string;
}

export default getModelForClass(Category);

我使用的是第一次使用 typegoose,所以我需要一个很好的解释。

4

1 回答 1

0

你想念你的“modelOptions”吗?:

import { getModelForClass, prop } from '@typegoose/typegoose';

@modelOptions({ options: { customName: "Category_name" } })
export class Category {
  @prop({ required: true })
  public name?: string;

  @prop({ default: null })
  public photo?: string;
}

export default getModelForClass(Category);
于 2021-11-19T07:36:36.273 回答