NestJS导入Mongoose Schema报错:TypeError: Cannot read properties of undefined (reading 'tree')
解决Mongoose Schema注入时的"Cannot read properties of undefined (reading 'tree')"错误
问题代码与错误信息
成员地址Schema代码
import * as mongoose from "mongoose"; export const memberAddressSchema = new mongoose.Schema({ mumber_id: { type: String, required: true }, city_id: { type: String, required: true }, state_id: { type: String, required: true }, pincode: { type: String, required: true }, address: { type: String, required: true }, });
错误信息
无法读取未定义的属性(读取'tree')
TypeError: Cannot read properties of undefined (reading 'tree')
AdminModule代码
@Module({ imports:[MongooseModule.forFeature([{name:'Admin', schema:adminSchema},{name:'Member',schema:memberAddressSchema}])], providers:[AdminService,MemberAddressService], exports:[AdminService,MemberAddressService] }) export class AdminModule{}
解决步骤
修正模型名称与Schema的对应关系
当前你将memberAddressSchema绑定到了'Member'模型名称上,语义不匹配且会引发内部处理错误。需将模型名称改为与Schema对应的'MemberAddress':@Module({ imports:[MongooseModule.forFeature([ {name:'Admin', schema:adminSchema}, {name:'MemberAddress', schema:memberAddressSchema} // 修正模型名称 ])], providers:[AdminService,MemberAddressService], exports:[AdminService,MemberAddressService] }) export class AdminModule{}确认Schema的导入正确性
检查AdminModule中memberAddressSchema的导入语句,确保文件路径、导出名称完全匹配,没有拼写错误。例如:// 根据实际文件路径调整导入语句 import { memberAddressSchema } from './schemas/member-address.schema';修正Schema中的拼写错误(可选但建议)
Schema内的mumber_id应为member_id,虽然这不是触发当前错误的原因,但修正后能避免后续业务逻辑问题:export const memberAddressSchema = new mongoose.Schema({ member_id: { type: String, required: true }, // 修正拼写 city_id: { type: String, required: true }, state_id: { type: String, required: true }, pincode: { type: String, required: true }, address: { type: String, required: true }, });
内容的提问来源于stack exchange,提问作者jaswant patel
相关产品推荐
相关产品推荐

