node.js db

npm install gumbo
3 downloads in the last week
111 downloads in the last month

mongodb-like collections Build Status

var gumbo = require("gumbo");

var col = gumbo.collection([
        name: "craig",
        age: 99
        name: "tim",
        age: 104

col.find({ age: { $gt: 100 } }).limit(10).skip(1).sort({ age: -1 }).exec(function(err, people) {


//watching{ age: {$gt: 100 } }, {
    insert: function(item) {
        console.log("insert %s", item.get("_id"));
    update: function(item) {

    remove: function(item) {



gumbo.collection(source, modelClass)

creates a new collection

source - the source for the collection. modelClass - the model class for the source.

Collection API

Iterator collection.insert(items)

Iterator collection.update(search, set)

Query collection.find(search)

Query collection.findOne(search)

Query, observers)

watches the collection for any particular changes

Synchronizer collection.syncTo(targetCollection)

synchronizes the data from one collection to another collection

Iterator API

basic example:

//update, and return the modified items
collection.update({ name: "craig" }, { $set: { age: 55 }}).capture().exec(function(err, modifiedItems) {



defines the chunk size when executing asynchronous tasks


captures any found / modified items


executes the iterator asynchronously

Array iterator.sync()

exetures the iterator synchronously, and returns the result

npm loves you