javascript - วิธีการส่งออกสคีมา mongoose โดยใช้ typescript?
ฉันได้สร้าง mongoose schema สำหรับ collection ผู้ใช้แล้ว ตอนนี้ฉันกำลังพยายามนำเข้าใน controller แต่ขึ้นข้อผิดพลาด no exported member 'User'. Did you mean 'IUser'? จะแก้ไขปัญหานี้อย่างไร?
ผู้ใช้.โมเดล.ts
import mongoose, { Schema } from 'mongoose';
export interface IUser extends mongoose.Document {
firstName: string,
lastName: string,
userName: string
password: string
}
const UserSchema: Schema = new Schema({
firstName: {
type: String,
required: true
},
lastName: {
type: String,
required: true
},
userName: {
type: String,
required: true
},
password: {
type: String,
required: true
}
});
export default mongoose.model('User', UserSchema);
ผู้ใช้.controller.ts
import { Request, Response } from 'express';
import { User } from './user.model'
คำตอบ #1
สำหรับ Typescript:
export interface IUser extends mongoose.Document {
name: string;
somethingElse?: number;
};
export const UserSchema = new mongoose.Schema({
name: {type:String, required: true},
somethingElse: Number,
});
const User = mongoose.model<IUser>('User', UserSchema);
export default User;
คำตอบ #2
เมื่อพูดว่า export default ...;
เมื่อคุณต้องการนำเข้ามา ให้พิมพ์ว่า:
import User from "./user.model";
ประกาศ: ผู้ใช้สามารถเป็นอะไรก็ได้ เช่น MyUserSchema หรืออะไรก็ได้
