我正在将项目移植到打字稿上,而我的模式存在一个别名字段,遇到了麻烦。我收到此错误:
Types of property 'alias' are incompatible.
Type 'StringConstructor' is not assignable to type 'string'.ts(2345)
我知道这是因为猫鼬具有别名字段(https://mongoosejs.com/docs/guide.html#aliases)。我的问题是,我该如何逃避?
我的参考代码:
import mongoose, { Schema, Model } from 'mongoose';
const userSchema = new Schema({
_id: Schema.Types.ObjectId,
alias: String
});
谢谢。
编辑:这也不起作用:
import mongoose, { Schema, Model } from 'mongoose';
const userSchema = new Schema({
_id: Schema.Types.ObjectId,
alias: {type: String, required: true}
});
出现此错误:
Types of property 'alias' are incompatible.
Type '{ type: string; required: boolean; }' is not assignable to type 'string'.ts(2345)
答案 0 :(得分:0)
Type 'StringConstructor' is not assignable to type 'string'.ts(2345)
错误明确定义了:
您正在将字段Data Type
分配给别名,但是alias
应该被命名,而不是用来显示别名的字段的类型。
更改此内容:
alias: String
到
alias: "String"
// <-这应该是类似于“ user_id”的名称或类似的名称