所以我有这个 Mongoose 模型如下:
const userSchema: mongoose.Schema = new mongoose.Schema(
{
_id: String,
email: {
type: String,
required: true,
},
firstName: String,
lastName: String,
phoneNumber: String,
cmt: {
type: String,
ref: 'Cmt',
},
},
);
如您所见,cmt字段指向另一个名为Cmt
的模型,我将使用其详细信息populate
现在,在另一个示例中,我需要传入cmtid,以便将其与userSchema
链接
但那时我会得到一个"Type 'string' is not assignable to type 'ICmt'."
的打字错误ICmt
是Cmt的接口定义。
下面给出了userschema接口。
export interface IUser {
_id: string;
email: string;
firstName: string;
lastName: string;
phoneNumber: string;
cmt: ICmt;
createdAt?: Date;
updatedAt?: Date;
}
如何在不影响填充查询和创建查询的情况下修复此错误?
2条答案
按热度按时间2wnc66cl1#
这是一个简单的解决方案,在我这边是错误的。
您可以在接口上使用
|
(or)
语句,这将解决可能发生的tslint错误问题所以我的用户界面将变成
所以不会再有我需要担心的tslint错误或tsignore
cvxl0en22#
我认为在这种情况下正确的声明应该是,