You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
mafintosh 20f7a5b89f better test coverage 12 years ago
tests better test coverage 12 years ago
.gitignore git ignore 12 years ago
README.md replSet config map deprecated but still supported 12 years ago
index.js fixed group issue 12 years ago
package.json fixed group issue 12 years ago

README.md

mongojs

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

npm install mongojs

Usage

mongojs is very simple to use:

var mongojs = require('mongojs');
var db = mongojs(connectionString, [collections]);

The connection string should follow the format desribed in the mongo connection string docs. Some examples of this could be:

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

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

// we can also provide some credentials
var db = mongojs('username:password@example.com/mydb', ['mycollection']);

// connect now, and worry about collections later
var db = mongojs('mydb');
var mycollection = db.collection('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
		return;
	}
	// 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)
db.mycollection.save({created:'just now'});

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

Replication Sets

Mongojs can also connect to a mongo replication set by providing a connection string with multiple hosts

var db = mongojs('rs-1.com,rs-2.com,rs-3.com/mydb?slaveOk=true', ['mycollection']);

For more detailed information about replica sets see the mongo replication docs