使用Nest.js引用mongoose模式中的另一个模型

使用Nest.js引用mongoose模式中的另一个模型,mongoose,nestjs,Mongoose,Nestjs,我刚从Nest.js开始,我很难理解为什么我不能在其他mongoose模式中引用mongoose模型 它适用于单元模型,但不适用于产品 以下是我的代码供参考: ProductUnit架构 从'@nestjs/mongoose'导入{Prop,Schema,SchemaFactory}; 从“mongoose”导入{Document,SchemaTypes}; 从'src/products/entities/Product.entity'导入{Product}; 从'src/units/entit

我刚从Nest.js开始,我很难理解为什么我不能在其他mongoose模式中引用mongoose模型

它适用于单元模型,但不适用于产品

以下是我的代码供参考:

ProductUnit架构

从'@nestjs/mongoose'导入{Prop,Schema,SchemaFactory};
从“mongoose”导入{Document,SchemaTypes};
从'src/products/entities/Product.entity'导入{Product};
从'src/units/entities/Unit.entity'导入{Unit};
@模式()
导出类ProductUnit扩展文档{
@Prop({type:SchemaTypes.ObjectId,ref:Unit.name})
单位:单位;
@Prop({type:SchemaTypes.ObjectId,ref:Product.name})
产品:产品;
@Prop({default:false})
默认购买:布尔;
@Prop({default:false})
defaultSell:boolean;
}
export const ProductUnitSchema=SchemaFactory.createForClass(ProductUnit);
产品单元模块

从'@nestjs/common'导入{Module};
从'@nestjs/mongoose'导入{MongooseModule};
从'src/products/products.module'导入{ProductsModule};
从'src/units/units.module'导入{UnitsModule};
从“./entities/product unit.entity”导入{ProductUnit,ProductUnitSchema};
从“./product units.service”导入{ProductUnitsService};
@模块({
进口:[
MongooseModule.forFeature([
{
名称:ProductUnit.name,
schema:ProductUnitSchema,
},
]),
单元模块,
产品模块,
],
提供者:[ProductUnitsService],
导出:[ProductUnitsService],
})
导出类ProductUnitsModule{}
产品模块

@模块({
进口:[
MongooseModule.forFeature([
{
名称:Product.name,
schema:ProductSchema,
},
]),
塔格斯穆勒,
ProductUnitsModule,
],
控制器:[ProductsController],
供应商:[
产品服务,
IsTagValidator,
IsCategoryValidator,
ProductUnitsService,
],
出口:[产品服务],
})
导出类ProductsModule{}
当我尝试运行“我的应用程序”时,出现以下错误:

/mnt/c/Users/***/Documents/codespace/FullPOS/fullpos/dist/products/entities/product.entity.js:41
    mongoose_1.Prop({ type: [{ type: mongoose_2.SchemaTypes.ObjectId, ref: product_unit_entity_1.ProductUnit.name }] }),

TypeError: Cannot read property 'name' of undefined
    at Object.<anonymous> (/mnt/c/Users/***/Documents/codespace/FullPOS/fullpos/dist/products/entities/product.entity.js:41:110)        
    at Module._compile (node:internal/modules/cjs/loader:1108:14)
/mnt/c/Users/***/Documents/codespace/FullPOS/FullPOS/dist/products/entities/product.entity.js:41
mongoose_1.Prop({type:[{type:mongoose_2.SchemaTypes.ObjectId,ref:product\u unit\u entity\u 1.ProductUnit.name}]}),
TypeError:无法读取未定义的属性“name”
反对。(/mnt/c/Users/***/Documents/codespace/FullPOS/FullPOS/dist/products/entities/product.entity.js:41:110)
at模块编译(节点:内部/modules/cjs/loader:1108:14)
这让我措手不及,因为我正在对其他猫鼬模式做同样的事情,而且效果很好

谢谢你的帮助