mongoose-model
Installation
Install with npm:
npm install mongoose-model
Usage
import { def, Model, model, prop, Query, ref } from 'mongoose-model'; export interface IContact { kind: string; value: string;} @modelexport class User extends Model { @prop age: number; @prop({ kind: String, value: String, }) contacts: IContact[]; @prop createdAt: Date; @prop email: string; @def(false) isActive: boolean; @prop name: string; get displayName() { return `${this.name} <${this.email}>`; } static findByEmail(email: string): Query<User> { return this.findOne({ email }); }} @modelexport class Post extends Model { @prop body: string; @ref creator: User; @prop title: string; static findByTitle(title: string): Query<Post> { return this.findOne({ title }); }}