Skip to content


Subversion checkout URL

You can clone with
Download ZIP
a simple mongo module that implements the mongo api
branch: master

This branch is 343 commits behind mafintosh:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


A node.js module for mongodb, that emulates the mongodb API as much as possible. It wraps mongodb-native.
It is available through npm:

npm install mongojs

mongojs is very simple to use:

var db = require('mongojs').connect(databaseURL, [collections]);

Some examples of this could be:

// simple usage for a local db
var db = require('mongojs').connect('mydb', ['mycollection']);

// the db is on a remote server (the port default to mongo)
var db = require('mongojs').connect('', ['mycollection']);

// we can also provide some credentials
var db = require('mongojs').connect('', ['mycollection']);

After we connected we can query or update the database just how we would using the mongo API with the exception that we use a callback
The format for callbacks is always callback(error, value) where error is null if no exception has occured.

// find everything
db.mycollection.find(function(err, docs) {
    // docs is an array of all the documents in mycollection

// find everything, but sort by name
db.mycollection.find().sort({name:1}, function(err, docs) {
    // docs is now a sorted array

// iterate over all whose level is greater than 90.
db.mycollection.find({level:{$gt:90}}).forEach(function(err, doc) {
    if (!doc) {
        // we visited all docs in the collection
    // doc is a document in the collection

// find all named 'mathias' and increment their level
db.mycollection.update({name:'mathias'}, {$inc:{level:1}}, {multi:true}, function(err) {
    // the update is complete

// use the save function to just save a document (the callback is optional for all writes){created:'just now'});

For more detailed information about the different usages of update and quering see the mongo docs

Something went wrong with that request. Please try again.