mongoose-model
v0.7.2
Published
Define your mongoose models easily with Typescript
Downloads
73
Maintainers
Readme
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;
}
@model
export 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 });
}
}
@model
export class Post extends Model {
@prop body: string;
@ref creator: User;
@prop title: string;
static findByTitle(title: string): Query<Post> {
return this.findOne({ title });
}
}