/modest-mongo

🎁 Modest MongoDB API wrapper

Primary LanguageJavaScriptMIT LicenseMIT

modest-mongo

Modest MongoDB API wrapper
npm package version npm downloads standard JS linter prettier code formatting travis ci build status project license make a pull request

Github Watch Badge Github Star Badge Tweet

Built with ❤︎ by tiaanduplessis and contributors

Table of Contents

Table of Contents
  • Install
  • Usage
  • Contribute
  • License
  • Install

    Greenkeeper badge

    $ 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.