Skip to content

Artmann/esix

Repository files navigation

Logo

A really slick ORM for MongoDB.

Inspired by ActiveRecord and Eloquent, Esix is a great way to work with your database in TypeScript. 🥧

Esix uses a Convention over Configuration approach where you define your models as normal TypeScript classes and minimal boilerplate.

Getting Started

yarn add esix mongodb

Define a model.

import { BaseModel } from 'esix'

class Post extends BaseModel {
  public title = ''
  public text = ''
}

Then you can query the database for your models.

async function postsHandler(
  request: Request,
  response: Response
): Promise<void> {
  const posts = await Post.all()

  response.json({ posts })
}

async function postHandler(
  request: Request,
  response: Response
): Promise<void> {
  const post = await Post.find(request.params.id)

  response.json({ post })
}

You can read more about how to use Esix at the docuementation site https://esix.netlify.app/.