1.1.0 • Published 7 years ago

modest-mongo v1.1.0

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

Install

$ npm install modest-mongo
# OR
$ yarn add modest-mongo

Usage

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 to 127.0.0.1)
  • port (optional, default to 27017)
  • 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)

Contributing

Contributions are welcome!

  1. Fork it.
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Or open up a issue.

License

Licensed under the MIT License.