plexinc/papr
README
Papr
TypeScript-safe schemas
JSON Schema MongoDB validation
🎉* Lightweight library
🚀* Blazing fast
papr is a lightweight library built around the MongoDB NodeJS driver, written in TypeScript.
papr uses MongoDB's JSON Schema validation feature to enable validation of document writes at runtime (requires MongoDB 3.6+).
papr has a familiar API - if you have used the raw mongodb methods to query and change documents before, then you already know how to use papr.
Sample code
- ``` ts
- import Papr, { schema, types } from 'papr';
- const papr = new Papr();
- const User = papr.model('users', schema({
- age: types.number(),
- firstName: types.string({ required: true }),
- lastName: types.string({ required: true }),
- }));
- const johnWick = await User.find({ firstName: 'John', lastName: 'Wick' });
- ```
Documentation
Read the documentation at: plexinc.github.io/papr
Contributing
This repository is following the Conventional Commits standard.
License
MIT
Inspiration
Mongoose
ts-mongoose