【发布时间】:2021-03-09 20:44:57
【问题描述】:
我有一个用户界面:
import {Document} from "mongoose";
export interface IUser extends Document{
email: string;
password: string;
strategy: string;
userId: string;
isValidPassword(password: string): boolean;
}
还有一个架构:
import { IUser } from "../interfaces/User";
const userSchema = new Schema({
strategy: {
type: String,
enum: ["local", "facebook", "google"]
},
email: {
type: String,
lowercase: true
},
password: {
type: String
},
userId: {
type: String
}
});
const User = mongoose.model<IUser>("user", userSchema);
现在当我尝试使用时:
const user :IUser= User.findOne({email});
if(!user){
done(null, false)
}
user.isValidPassword(password);
它说“TS2740:类型'DocumentQuery
如果我尝试从 const user :IUser= User.findOne({email}); 中删除“IUser”。它不允许我使用user.isValidPassword(password);
我不想为用户使用any 类型。
【问题讨论】:
标签: javascript node.js typescript express mongoose