Monk
The wise MongoDB API
Install / Use
/learn @Automattic/MonkREADME
<h1 align="center">Monk</h1>
<div align="center">
<img src="https://avatars2.githubusercontent.com/u/28830676?v=3&s=200" />
</div>
<br />
<div align="center">
<strong>A tiny layer that provides simple yet substantial usability
improvements for MongoDB usage within Node.JS.</strong>
</div>
<br />
note: monk 2.x drop the support for node < 0.12. If you are still using an earlier version, stick to monk 1.x
const db = require('monk')('localhost/mydb')
// or
// const db = require('monk')('user:pass@localhost:port/mydb')
const users = db.get('users')
users.index('name last')
users.insert({ name: 'Tobi', bigdata: {} })
users.find({ name: 'Loki' }, '-bigdata').then(function () {
// exclude bigdata field
})
users.find({}, {sort: {name: 1}}).then(function () {
// sorted by name field
})
users.remove({ name: 'Loki' })
db.close()
Features
- Well-designed API signatures
- Easy connections / configuration
- Command buffering. You can start querying right away
- Promises built-in for all queries. Easy interoperability with modules
- Auto-casting of
_idin queries - Allows to set global options or collection-level options for queries. (eg:
castIdsistrueby default for all queries)
Middlewares
Most of the Monk's features are implemented as middleware.
There are a bunch of third-parties middlewares that add even more functionalities to Monk:
Created an nice middleware? Send a PR to add to the list!
How to use
License
MIT
