Modest MongoDB API wrapper
Built with ❤︎ by tiaanduplessis and contributors
$ npm install modest-mongo
# OR
$ yarn add modest-mongo
After requiring modest-mongo
, create a new client instance:
const Client = require('modest-mongo')
// Create new new client instance
const mongoClient = new Client({ db: 'example' })
Client
accepts an object
or url string
possible object properties are:
host
(optional, defaults to127.0.0.1
)port
(optional, default to27017
)db
(required)
After a client is created, you can create a new collection:
const dudes = mongoClient.collection('dudes')
// Some example data
const dude = { name: 'Tiaan', surname: 'du Plessis' }
const otherDude = { name: 'Evan', surname: 'du Plessis' }
const anotherDude = { name: 'Paul', surname: 'du Plessis' }
The collection instance returned then allows you to find
, save
, count
, update
and remove
documents in the collection. For example
// Save
dudes
.save(dude)
.then(res => {
console.log(res)
const id = res[0]._id.toString()
dudes.find(id).then(console.log).catch(console.log)
dudes.update(id, { surname: 'Du Plessis' }).then(console.log).catch(console.log)
})
.catch(console.log)
dudes.save([otherDude, anotherDude]).then(console.log).catch(console.log)
// Find
dudes.find({ name: 'Tiaan' }).then(console.log).catch(console.log)
dudes.find(
{},
{
limit: 2,
skip: 1,
fields: ['name']
}
)
// Count
dudes.count().then(console.log).catch(console.log)
// Update
dudes.update({ name: 'Paul' }, { surname: 'Du Plessis' }).then(console.log).catch(console.log)
// Remove
dudes.remove({ name: 'Evan' }).then(console.log).catch(console.log)
// dudes.remove().then(console.log).catch(console.log)
Contributions are welcome!
- Fork it.
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Or open up a issue.
Licensed under the MIT License.