【发布时间】:2020-03-10 21:42:26
【问题描述】:
给出一个类型错误,他不理解 UserInterface 里面的查找,这个错误:Property 'find' does not exist on type 'UserInterface'
import User, { UserInterface } from '../schemas/User';
class UserController {
public user: UserInterface;
constructor() {
this.user = new User();
}
public async index(req: Request, res: Response): Promise<Response> {
const users = await this.user.find();
return res.json(users);
}
}
export default new UserController();
export interface UserInterface extends Document {
email?: string;
firstName?: string;
lastName?: string;
}
const UserSchema = new Schema(
{
email: String,
firstName: String,
lastName: String,
},
{
timestamps: true,
},
);
export default model<UserInterface>('User', UserSchema);
【问题讨论】:
-
这些方法可能由
model<UserInterface>提供,您将其导入为User。尝试将user: UserInterface更改为user: User。 -
此错误:“用户”指的是一个值,但在此处用作类型。ts(2749)
-
试试
user: typeof User -
我知道了,不过现在不取用户字段的类型了哈哈。
标签: javascript node.js typescript mongoose