由于我的代码在Typescript中,因此我使用Typegoose定义模型。我有一个这样定义的GuestModel
:
class Guest extends Typegoose {
@prop() name: string
@prop() searchesCount: number
@prop() profilesCount: number
@prop() lastCountResetDate: number
}
const GuestModel = new Guest().getModelForClass(Guest, {
existingMongoose: mongoose,
schemaOptions: { collection: 'guests' }
})
但是我在name
属性上遇到了麻烦。当我尝试使用GuestModel.create
时,name
值将被忽略。当我尝试通过findOneAndUpdate
进行设置并通过name
进行选择时,出现以下错误:Path "name" is not in schema, strict mode is true, and upsert is true
。
在@prop({ required: true })
上设置name
没什么区别。
即使数据库相同,该错误仅在NODE_ENV
为production
时发生。
我在这里想念什么?
编辑
在找不到解决方案之后,我最终完全删除了Typegoose。