Simple MongoDB driver for Node.js with jQuery like syntax.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bson stable mongod start Jul 8, 2014
crypto stable mongod start Jul 8, 2014
goog/math stable mongod start Jul 8, 2014
gridfs stable mongod start Jul 8, 2014
responses stable mongod start Jul 8, 2014
License.txt stable mongod start Jul 8, 2014
reply.js Removed anoying debug on stderr Sep 22, 2015


Mongous, for humongous, is a simple and blazing fast MongoDB driver that uses a jQuery like syntax.

How it works

var $ = require("mongous").Mongous;



Done. App development has never felt as close to the shell as this! Making it a breeze to grab'n'store anything anywhere in your code without the nasty hassle of connections, collections, and cascading callbacks.

Database & Collections

  • db('Database.Collection')
    • Database is the name of your database
    • Collection is the name of your collection
    • Examples
      • db('')
      • db('')


  • Update db('').update(find, update, ...)
    • find is the object you want to find.
    • update is what you want to update find with.
    • ...
      • { upsert: true, multi: false }
      • true, true
  • Save db('').save(what)
    • what is the object to be updated or created.
  • Insert db('').insert(what...)
    • what is an object to be created. is an array of objects to be created.
    • Examples
      • db('').save({hello: 'world'})
      • db('').save([{hello: 'world'}, {foo: 'bar'}])
      • db('').save({hello: 'world'}, {foo: 'bar'})
  • Remove db('').remove(what, ...)
    • what is the object to be removed.
    • ... true for atomic.
  • Find db('blog.users').find(..., function(reply){ })
    • reply is the reply from MongoDB.
    • reply.documents are the documents that you found from MongoDB.
    • ...
      params are filtered by type
      • Objects
        • first object is what you want to find.
        • second object are fields you want
          Ex: { name: 1, age: 1 }
        • third object is any of the following options:
          { lim: x, skip: y, sort:{age: 1} }
      • Numbers
        • first number is the limit (return all if not specified)
        • second number is the skip
    • Examples
      • db('blog.users').find(5, function(reply){ })
        reply.documents is the first 5 documents,
      • db('blog.users').find(5, {age: 23}, function(reply){ })
        with age of 23,
      • db('blog.users').find({age: 27}, 5, {name: 1}, function(reply){ })
        and a name.
      • db('blog.users').find(5, {age: 27}, {name: 1}, {lim: 10}, function(reply){ })
        is the same as the previous example, except the limit is 10 instead of 5.
      • db('blog.users').find(5, function(reply){ }, 2)
        reply.documents skips the first 2 documents and is the next 3 documents.
      • db('blog.users').find(function(reply){ }, {age: 25}, {}, {limit: 5, skip: 2})
        is the same as the previous example except only of doucments with the age of 25.
      • db('blog.users').find({}, {}, {sort: {age: -1}}, function(reply){ })
        reply.documents is sorted by age in a decsending (acsending while it is {age:1} ) order.
  • Operations db('blog.$cmd').find(command,1)
    • command is the database operation command you want to perform.
    • Example db('blog.$cmd').find({drop:"users"},1)
      drops the users collection, deleting it.
  • Authentication db('blog.$cmd').auth(username,password,callback)
    • username, password
      username and password of the 'blog' database
    • callback
      the callback function when authentication is finished.
    • Example
      • db('blog.$cmd').auth('user','pass',function(reply){})
  • Open db().open(host,port)
    • Only necessary to call if you explicitly want a different host and port, elsewise it lazy opens.

Mongous is a reduction ('less is more') of node-mongodb-driver by Christian Kvalheim.