Versuch, ein Mungo-Modell in Typescript zu implementieren. Das Durchsuchen von Google hat nur einen hybriden Ansatz ergeben (Kombination von JS und TS). Wie würde man die User-Klasse nach meinem eher naiven Ansatz ohne JS implementieren?
Willst du in der Lage sein, IUserModel ohne das Gepäck.
import {IUser} from './user.ts';
import {Document, Schema, Model} from 'mongoose';
// mixing in a couple of interfaces
interface IUserDocument extends IUser, Document {}
// mongoose, why oh why '[String]'
// TODO: investigate out why mongoose needs its own data types
let userSchema: Schema = new Schema({
userName : String,
password : String,
firstName : String,
lastName : String,
email : String,
activated : Boolean,
roles : [String]
});
// interface we want to code to?
export interface IUserModel extends Model<IUserDocument> {/* any custom methods here */}
// stumped here
export class User {
constructor() {}
}
User
kann keine Klasse sein, da das Erstellen einer Klasse eine asynchrone Operation ist. Es muss ein Versprechen zurückgeben, damit Sie anrufen müssenUser.create({...}).then...
.