{"_id":"mambo","_rev":"89-a7591177e2a1dce7cd4933252021dfd1","name":"mambo","description":"The best document mapper for DynamoDB.","dist-tags":{"latest":"0.3.2"},"versions":{"0.0.1":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.1","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.0.8"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    mocha\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","_id":"mambo@0.0.1","dist":{"shasum":"9432a2ef34a32e13f2290c891a653929eae3c1a5","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.1.tgz","integrity":"sha512-6dlbkvmY/ZWvndMr++u+h8rjPWIia23cqb61KmwF6UIFFI9msrmmnZEStGl2GNSZpXxVDk3HScIeDa5pDTHYng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/DDNDq0gRj+wKTupxlkoMKj1OTLlXTSnLkMBUU0xQ6AIgItuZkSOB99nSDVcnFQhkPotiSkhO4CALhtipTuchhTE="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.2":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.2","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.0.8"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    mocha\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","_id":"mambo@0.0.2","dist":{"shasum":"21194870fce32304afc814ee3576aaef2aa36383","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.2.tgz","integrity":"sha512-dQ3Em4Yq993byYTxsQOoMWrhuX8KbT3pQjNtRiovzib4sF9vSUxCvpu/mWG1zlv3E16fQNM7QZ37haysCCUnDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDX/2gi/yFjPlPCOcTx15H/vnQ24ae5bh2plpkOc+t/0QIgYZ9FZtih/uER2FUEjG5VQd5f7FZaakDmjKBF3Nlc1nQ="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.3":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.3","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.0.8"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","_id":"mambo@0.0.3","dist":{"shasum":"b29efae431074766584ab7310455322fed748ae5","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.3.tgz","integrity":"sha512-oS1mVxkYZ77HA1/zc64ET2xtiMB+8maDzrB0EQkOVj5tI18FraLJ1zF3M/jg++Wx8fTzfpC9aLRQBuA1gOnv3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIp9iQzsD/Jw95HSj/Ou1MgFhGDqUTc77vPpP3iXlEaAiEAssFJ2cWnSE9C0VeLkChNcYbuUZQpDAqFmnY3tStVM4M="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.4":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.4","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.0.8"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.4","dist":{"shasum":"be44e526acd8e8abd94d5b5fa8ee2b86cd492962","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.4.tgz","integrity":"sha512-bJSVIcSF1cAmk6dapRa9vckCSy5++VAVWArt42HlQc1ykxbqBNkWlinqd8dlJrEUJycREfsIgKgrcVhbHpR3TA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCztt8a5rYVoDD5fJ5ku9JPdlHhWHGCI2mccwSk7zXhCwIhALIPLGVs2DDxwNldYBwFI0rpIflMmnEuKPDN2m2W9mwz"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.5":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.5","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.2"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.5","dist":{"shasum":"40ced0c2c3936f1ae496ce1d8b8e127ff63a168d","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.5.tgz","integrity":"sha512-gvG8k70QtyTWgZNsc6PGf3Gn9gOsEbW9JGOhUsz/QSa5yzZszvBaJ+LdNTZaiZRBpjmutF1qKvIZ0nkZYWi8Vg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDjsaXLiQLxRIMGZnvW1bebpFBvHChwaB4vohe+SpeDvAiEAnsUAPAP5cc54ZifV6/2JHvVSJcDkr7eA34xbxWWyYDU="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.6":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.6","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.2"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.6","dist":{"shasum":"0c4d0ce3de74d96a3a02c45a6ba408c7803c2980","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.6.tgz","integrity":"sha512-qggyYvRTpMDBHNdownepFoRUaQ2JPcfg359ygPdmng4sFqb5xqpPUZHGkb1lZn/XJHcSWSgffXK2zw1XEtWImA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHwhMrvBwL8M4OlPHwtPEmnbK7Zjnbfs6q2gbT2Yfg1AIgJOjxioUx193hr6t01KpyHEPW6+QTRQ+Iw1LB2jbX4tQ="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.7":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.7","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.2"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.7","dist":{"shasum":"1ca4a35e2ba675a9768defd9b12176b34d4e5b7b","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.7.tgz","integrity":"sha512-eP+vdqlJ74VDaXrDu0ySBOs+zjsJ34SjCsiinRoZbvsfQHYIzr9z+e003b+tyv3O+15wPjD8tsXrfDsrcASQfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnKeaGd7BmQnhhkXuUG0b11w0olKAXCqcltU2YArFetAiB4ogGkv9vVrAd4iHmpuvk5hAR6e5jNIkK9k7K9pO1WYA=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.8":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.8","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","dynamo":"git://github.com/exfm/dynamo.git","sequence":"2.2.1","winston":"0.6.1","underscore":"1.3.3"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.3"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.8","dist":{"shasum":"bcd3c789141d443f3b399aac4cee8cfc5a642ba5","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.8.tgz","integrity":"sha512-Jk+uQCgACy2U5rrgbS4/CfXg8NNQErC8MLj6KfkQBQ5ZQ2BJ7LWapNpjezbqMx5MoxcnFYxpZPXrZ4RyhQp/DA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHqOyXmbdGAqNn8kmHHvbD5XzEhJJMe2NWk6voMZHmHwIgFVqvJ9us+WcuwohKvlQhfF+t6eHQk7sDjD15E/4QJcM="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.9":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.9","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","plata":"0.0.22","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.3"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.9","dist":{"shasum":"03cc340d8c2d8416842fa68ea15d3c390aeb04a9","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.9.tgz","integrity":"sha512-UFEuWMPc8tFqrgQUEtP4iB9Ih3P33f6mSXJ35KGlq99gbUL63FGuchUea5mFpSbiBU6Yt8GCLeYb0LFeaXmlIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZSNzecvjMfd9uA2G3iEktuxTlonwiCHdAzRMrV/LRGQIgFBTfikxRzLUKn+LXFBMPvCSH8k1weNLSuyx7BEq21qk="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.10":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.10","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","plata":"0.0.22","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.3"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.10","dist":{"shasum":"57b2792f416d68524b83216325334e87ddbf4e6e","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.10.tgz","integrity":"sha512-8VLF6FjeGxn0qoxFIJaqbOiD+qeK+D70oQL9mCuReJsOT0pd7cFCkwUpan02Iz908H1w0vAK449yiGeVeTCiQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGpaF/DtDpMf1vaUAB7JIx2bUpNcYRGxH7DsfCO8eIEUAiBUKn9rs7nunNP6IX13GiCrTMPgiwigyXjDslGh7pfrTA=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.11":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.11","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","plata":"0.0.22","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.4"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.11","dist":{"shasum":"7f7a067a7b8890981e38178109316ecace82a289","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.11.tgz","integrity":"sha512-EkC2ta0QFSkd6YEcEt6Zhp7FbYaESl2HVdt8Am7UvSsWqMxRPRfSukkMrYssz+q/va8nkpgrJ10rKjgDmxbLhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDybcMRtEdVYXybv5k5aF/DFXwJwf0Rf749O9jJOoGjXgIhAOrX6Q2XS5xsjau8sR3o/FkZr1gx2huNmD3UV5JxhWPS"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.12":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.12","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","plata":"0.0.22","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.5"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.12","dist":{"shasum":"609d33df35633762cab71d356ffd29b35f423196","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.12.tgz","integrity":"sha512-TqIMaM85LhaeFVB2feH+hB4wdXE2eVnEfVggPXn3i0Tc1X8QUoc6Kyr88048yYz0FB7MtG5HP7c0LPOK5T0p5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDddmRpbjsYQl84Z0rlA/QutYEwA9nKl011/L5k1uX8RAIhAK3M5O7YeOpkpqxk1BQMNPmYUt8koNcvHKjcSPMN4FtE"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.13":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.13","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"git://github.com/exfm/when.git","plata":"0.0.22","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.6.0","magneto":"0.1.5"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.13","dist":{"shasum":"820fe1f2709e07befc83d6ec0cfc8674ff23b827","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.13.tgz","integrity":"sha512-p0NAMeFX5crDXm2SJoihEkF/lzrnFbO18ZmQkEMVLLE0b5Wvvq4vQ9ri5lRg13mKPmapArNEXJNv1DZZoE10jQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHXi4mJOKR15g0vIUVw4idrLaf1PYC0M9BLTr0cGM4EPAiAKP2NbEPqio2ICvtLJ+Sbnz0pWR/gnvO1hUt1RnQbE9Q=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.14":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.14","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"1.8.0","plata":"0.0.28","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.14","dist":{"shasum":"3dd0dcbdeb66dd96efc44aabb354c6d7b5bad7d7","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.14.tgz","integrity":"sha512-sFim6bnScT3+pmYtz8xAB8tWkm8VB+uRY0pe99bAUNEjbIOVHJWQ4IOt0cJRZZyxn/LvZKzxnX9As9ic7WZvgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAospjVcjG+4Vwa8jlMurGQSBqvwuEfoBVv9tv/LgjAHAiEArEz4TnN8gXUakHU4hqjXdTfsKcNwv0eynIE/w7qwBGg="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.15":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.15","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"1.8.0","plata":"0.0.28","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.15","dist":{"shasum":"8bd86b575c6a20b026caf0b0f5baf16461690b75","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.15.tgz","integrity":"sha512-H8qd1svnoYxymVqQ6B8yNsGVpTxAstcMMVNsZoVDYsNJj4rBsEPuY3uujzioiWKAg03b+MVlbEf+zCnaoNzADQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDpzE6U/nX5HN9BjeGCGe8gJSpYaZo99LYTNzT7cBoK+AiEAp+qzTPk+1pvFSmwrrLwRG1yTV/PnBVYz/09kEn8NAW0="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.16":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.16","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"1.8.0","plata":"0.0.28","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.16","dist":{"shasum":"4523ee5c6b34ffc845898d90b897fffc013f338d","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.16.tgz","integrity":"sha512-+AA8RJ7tBHqocbK09rDCMS63Fv0ujyuLA7mHnXJDsGvL0NJqYziNBn5MzboC7ve27KjIjwIJcuwyemxSUBS/aA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGBFAJzEogTOeOiuY8wNpgdsem35Yk8WhjBqC6/GW7lFAiBrYtouv+VWAsRc/zCmtkUrFQsYVbVmB+yNRWNBabCXqA=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.17":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.17","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"1.8.0","plata":"0.0.28","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.17","dist":{"shasum":"5e58f7fc0b13126ddc2f355320d649a3f0937dfc","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.17.tgz","integrity":"sha512-Ljr2FabxnKonWnsGt7K2AXqDdKBd4qOq3O0hwfj0qIhdWOazqJuMCTkqboQgXzuAah9FYXydXpGiIHlRxCrymg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHMDBN0trMniWxqlcTeEA90C9CDnefpwx/WmmoEAUJqYAiEAivQPCLHf6Crj2nQHLiZVip05r9LXbmwhkjByyeL9bb0="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.18":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.18","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"1.8.0","plata":"0.0.30","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.18","dist":{"shasum":"9cea3c87538715c387b8e1944e90bdcad57f2a29","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.18.tgz","integrity":"sha512-1LMxGV2toX11bj7Icyi0tXd7Hp4UIeWPXrM5FcdTmRqaeEla1rsYOLIb3rawwGlglAgJu4DDoS83a75jZHj8Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICkJOQbheO86DrmJvE6VL+qQ8pB5LA4OeHEsFC/I5DF6AiEAqD7+cv46Ol0KyymFon8dEJprEtiTp8KzxnC6/aSJyCQ="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.19":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.19","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"1.8.0","plata":"0.0.31","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.19","dist":{"shasum":"055add153e0d7cd84de03e57ddd74edc642ba601","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.19.tgz","integrity":"sha512-Zt820d/r7casr2M/690zaSUrQz/uJVvhD7o197QjdlSqqIVBMt/pw0Jn6bM35l8Ocxe8p1wU7z7Aw4Q8fQjA/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCv9SkZ0kiY8io61g1dJ1Jb1KwNevycRiy83Yp78BioOAIgX8GiwlHA4SAWwgeGbwk34C46KC7CND3aMBFboxF2rIQ="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.20":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.20","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"when":"1.8.0","plata":"0.0.32","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.20","dist":{"shasum":"3e7f727ab826c68c5c8afc981649363bd1bcaa97","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.20.tgz","integrity":"sha512-ElAqNxa71DCouyGqOLytqqev34pgDUP/mx1Bp1wFZnFLX5YGWqLMlM+y4jMRgZht/ZBtGtZpM6oFHmn0vvc+fQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEaJLg5v6ubYQgm5nySSsU8xcnabCVs41jHmkK0gNv2+AiEA1+htAP1PkDvwss7W4LTkJeEPCkW2dSe12hFrlla8MQE="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.21":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"Little wrapper for dynamo models","version":"0.0.21","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"q":"0.9.3","plata":"0.0.34","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.1.6"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","readmeFilename":"README.md","_id":"mambo@0.0.21","dist":{"shasum":"c389c8278af605224190c1da92f25c19e7162fea","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.21.tgz","integrity":"sha512-YjZ875AQyxE1qHJ8Eo3HTNbGyfpgsUHNSO0ltqYXNx0oeI2/DrDxjP7ccLqytIkJktty/I8VrXsuTZ80lqkuzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGRGfepj8Et9GI0P3ebGjk/kvTa7mjEUI2fvf81C7dBwIhAN06B5ILh1exD607f6NVTXqvgctxJoTj3cBEupV/zQXG"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.0.22":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.0.22","homepage":"http://github.com/exfm/node-mambo","repository":{"type":"git","url":"git://github.com/exfm/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"q":"0.9.3","plata":"0.0.34","sequence":"2.2.1","underscore":"1.3.3","plog":"0.0.4"},"devDependencies":{"mocha":"1.8.1","magneto":"0.2.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock().then(function(){\n        // Do some stuff\n        mutex.unlock().then(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    }, function(err){\n        console.error('Couldn\\'t accquire lock');\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2).then(function(){\n       return songLoves.incryby(2, 1);\n    }).then(function(){\n        return songLoves.incryby(3, 9);\n    }).then(function(){\n        return songLoves.incryby(3, 1);\n    }).then(function(){\n        return songLoves.range(0, 3);\n    }).then(function(ids){\n        assert.deepEqual(ids, [3, 1, 2]);\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","_id":"mambo@0.0.22","dist":{"shasum":"7c85052c98aca39947e2073333d33dfd8ece33f7","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.0.22.tgz","integrity":"sha512-RlPYKPWgHWyqW3wbhlrV8FKN1OHcDlAQiOOTdrA1bVhaXZHFeUN/NR6YD7CxDNLfHz2ID/rMyC/o0HLJcG2Irg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfDRR8qL9BYIlmtUjtZnvlqBW6bdpfPr4Vg6DN5x0boQIhAL6ikTpJkQk48gHl8Le92P5K5y/h5G7QrI3R5ShyD2+g"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.0":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.0","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"plog":"0.0.4","aws-sdk":"1.2.0","async":"0.2.9","underscore":"~1.4.4"},"devDependencies":{"mocha":"1.10.0","magneto":"0.3.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock().then(function(){\n        // Do some stuff\n        mutex.unlock().then(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    }, function(err){\n        console.error('Couldn\\'t accquire lock');\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2).then(function(){\n       return songLoves.incryby(2, 1);\n    }).then(function(){\n        return songLoves.incryby(3, 9);\n    }).then(function(){\n        return songLoves.incryby(3, 1);\n    }).then(function(){\n        return songLoves.range(0, 3);\n    }).then(function(ids){\n        assert.deepEqual(ids, [3, 1, 2]);\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.0","dist":{"shasum":"3ab65508d1931959d6ccc862c37e5d55d946ef91","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.0.tgz","integrity":"sha512-hJNkNt1r8yMNjIEesxftCMKSN/g3fvC747yUNJciJI00VvJYN7Q59yVpl2C81cnUc5+ZcYWOT4KS3ETzTN4QyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtw2JTYJPjDuLn0e36Rk2kld7SIqEu7Iiux1MZUrFgWAiEAkMsRjFQH7Mq1bRfOlFwizfAaNeg2K53d12j5JNaPG6o="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.1":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.1","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"plog":"0.0.4","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.0"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock().then(function(){\n        // Do some stuff\n        mutex.unlock().then(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    }, function(err){\n        console.error('Couldn\\'t accquire lock');\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2).then(function(){\n       return songLoves.incryby(2, 1);\n    }).then(function(){\n        return songLoves.incryby(3, 9);\n    }).then(function(){\n        return songLoves.incryby(3, 1);\n    }).then(function(){\n        return songLoves.range(0, 3);\n    }).then(function(ids){\n        assert.deepEqual(ids, [3, 1, 2]);\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.1","dist":{"shasum":"2f57c04f3f353cf5668e3e79d8c72b769702043f","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.1.tgz","integrity":"sha512-lGf6Vro7zOXQrXcBNb5hYYKgDkXmIwdFeLhyvA9TJaqk9YaOLO94CVaFuD28BmHqV+BvPZZuyPtsShGvXwHbrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDzRi2W7Keqjw1UxXup/jj0O/HqsewOus0lstJp+ZTLtAiB4xZFpPSqwBLxq31n/EiCsKTt4162TsQxIJhW83vaAig=="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.2":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.2","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"plog":"0.0.4","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.0","debug":"~0.7.2"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock().then(function(){\n        // Do some stuff\n        mutex.unlock().then(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    }, function(err){\n        console.error('Couldn\\'t accquire lock');\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2).then(function(){\n       return songLoves.incryby(2, 1);\n    }).then(function(){\n        return songLoves.incryby(3, 9);\n    }).then(function(){\n        return songLoves.incryby(3, 1);\n    }).then(function(){\n        return songLoves.range(0, 3);\n    }).then(function(ids){\n        assert.deepEqual(ids, [3, 1, 2]);\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.2","dist":{"shasum":"47f709f5e08c5e2d1592f534ae7a45e1c4b549ba","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.2.tgz","integrity":"sha512-vEwEzs1vPOuHkpqw3IEfxbuRvpFTmGIUnTzbNHrjp1A6+W62WwgUZP6bMlz5q95SMFVAHtGvyTwoHMeaUt4xrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBY6mwpfU6/skYBEINf5+OqYJhIW8JRa37Qx6/OVluq+AiApcR5EiCSLJzzXgxQAnm0wHR16UDepycCTVvZafsETug=="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.3":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.3","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha"},"dependencies":{"plog":"0.1.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.0"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.3","dist":{"shasum":"f1419c79056b5466abad8d042a979aa985c19c40","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.3.tgz","integrity":"sha512-xTfxYovaSTcIXbbb6vPizytiB7TL0Mx6LkoaCE9WyHyKVA8H0CkVpcYAdEtM768rdKl8aeFbBoz8v0HMMXefrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfNAEJmldroORPN2zJAWSBpSmcidnA3tfeIsVJx6xf+gIgYQyd6km8bYIiKZrs+arZj4kbPhaJ5JODjBagmunnLqQ="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.4":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.4","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.1.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.0"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.4","dist":{"shasum":"109f6d2e37b743a3a0e86f53306e67e3e5d19553","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.4.tgz","integrity":"sha512-UVuPen4aRer6xAZqTVDbsI8X92PkTagUh2X/TZqs+JqMJJ2xSlHqcGXXP+xcobJTeuR2l9ARs/k4WUcLYc3RDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCONa9ucTyvvdnneFX3FySECc1FdCCPTjasfeIUc1KzKwIgVaGAvlvewZsEsm6os27VobMh86YaJ+x0j303BWqs1sY="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.5":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.5","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.1"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.5","dist":{"shasum":"475c4ede96bfae9ecb72a8d49f517f9e8e1ec724","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.5.tgz","integrity":"sha512-vQ6QnobKa5wmyGj7yfw2gcCp5qIzRXKfA2N1FSgsGeRTvVmzOB0ZjFKd5et6tazZKFtaXJK8Zc/t7o/q7UkIeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNuAwV/jAZnDot9yNib9grHktyP9g1oV8cBY9+nePa/AiBT34QkJsXXNo48V9vtj8YPZrQNdv08CHtgWx1Ashx88w=="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.6":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.6","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.1"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.6","dist":{"shasum":"fbc53039786b284fc23688a98c80f51c861cc8fa","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.6.tgz","integrity":"sha512-YFWDxC9rDK749jg7z+Bmqe5bC2N9vg75Yl9bqV0RCpbOr++zRJR0ZCsYsaJkDFROhf9PaRHnerk0GF8W0mKV0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHF1wOic70cMwBtxJ2PIp1m1yR47m8UDARFOeCEKV1DjAiB9LpfqDAusycC/S6UkQUu7TATBfADKTBuRX8FcX4fn2Q=="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.7":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.7","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.1"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.7","dist":{"shasum":"159cabbaa5eadf9ec33ed24b89762635cb5ab400","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.7.tgz","integrity":"sha512-qN2Se57c2eJoMNbC3qeMx5HGbK5VC7xaan45exfYCu0n0SERbdfVkdqn3NIrqg8gKDhQt7qusylhDZrWYxA4FA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqjpgYlSE8DX191Y8r+rD+YzN56wYD94dkqoSV4HyvkQIhAJxlKk1KVjgFUHIng652THhjEfwSPkKN848euBfRpvbq"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.8":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.8","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.2"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.8","dist":{"shasum":"abf66ea62c221eda4964eec00e2698a77c62a4a4","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.8.tgz","integrity":"sha512-sZjX8u5zJpeNd+VO1uC1mlcT3PgTlfkkm4QK7ezFqWp8NUw01Sd36a/vJNf0YqdoIp5SNsXaamaQqiyhj4+q3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHWZsWOhd2/41OF34VBPLXqTtRfUczflvaW8iBVfOkb8AiEA2eZBBHkUoXlFWDxo+FZv7i1XGyWPqijxg+fFDriDb/Q="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.9":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.9","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.2"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.9","dist":{"shasum":"725332dddd2054e61dfea2ec8282a15eaa7f152f","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.9.tgz","integrity":"sha512-lsQWothR6dqNOXoST8uCFzu1zy0s+gOwZpVk+PlUfGCYmaK8xPDlGJ11bv8teyB5SQs2+Ee8SCHrO9hRoxo9yw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZzpRf/2dLbQC8iZXy5yMv7cULqGgVaypNqyc1qDMvWwIhAIITQNGgUztJY0qunsRmE1W/YWRFyNsWr5OH3hSANely"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.10":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.10","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.2"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.10","dist":{"shasum":"72cf7739e758e14c9053afe92a6d9c512e816dce","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.10.tgz","integrity":"sha512-kZnl0i2h5DJr5aykJwOiondtgRZM39nYHTA88Fi1sSTyvt5h47OWEI5pGRYwbyBrdAIsXYCRjndWWdQ4lXoBYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8t9whCncB4CBOatuY0UOm2rGmWII4FF6/VzkeYsTkbAIgN8xG5nD8YqI4Yb2uzBr8nX8uYMpSUdrbKnlZH/BWXYA="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.11":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.11","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.2"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.11","dist":{"shasum":"f987906f897bce58e97a6eac83fe95eee707cce7","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.11.tgz","integrity":"sha512-5eExxvUZoUHRNCtmXHqEhqhY42TneXmQgOaIMBZk0KbE4iwfn3iZS/lr+ms0NjRhnps+k76R7Qpn06Acl+IQ0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQnPopfgowIw6kPStgOEo/wxW7TEQDkGOsMmcejt44iAiEArH8vgwuL/+Sdlaz4QbgjUC+Mi+BNe6/qE0hm357obsg="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.12":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.12","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.2"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.12","dist":{"shasum":"7128491758e6351c55b1e8dcd94d7eef09df5d15","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.12.tgz","integrity":"sha512-ZSj6RnS9agcNI0ElxoFqx8RWHd3ULaGb5PwBAqpybY8lbfjF3UV6KOGryaNVLniTwwnFBN/3C2pBmhdAvR7zsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGGvUFI40FWnTG+SCzOwls2EvwebdfRR7RsPj0coWfTQIhALJGjdR8WXnR55xhJ2wcy85CWfK3m6avdqwXSRGds6aX"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.13":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.13","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.3"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.13","dist":{"shasum":"a2076977fe124393faa3b2f672914779289cb817","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.13.tgz","integrity":"sha512-ZiKOwy2SGDD5IhbGJVXm+67dItbfsKwKEbWs6g368hORCDGEQwWySEw4O3JRBTCbRLLehW6AW3gj1zTNTO0yAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6H91tA0M0d2B8iVJFKHbckDZLkIbJEP0hZBlY7VUyqwIgatGDomZJcyVcp3fLkFWOkhgCWX5w5z0qEzssLw+y3bI="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.2.14":{"author":{"name":"Lucas Hrabovsky","email":"lucas@ex.fm"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.2.14","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy"},"dependencies":{"plog":"0.2.1","aws-sdk":"1.2.0","async":"0.2.9","underscore":"1.4.4","magneto":"0.3.3"},"devDependencies":{"mocha":"1.10.0"},"optionalDependencies":{},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb"],"mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.2.14","dist":{"shasum":"73eebaa73de21f37445e0b1f01aa1d3a3481d2cc","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.2.14.tgz","integrity":"sha512-QX+SeLgr/8HzBbUVbrWb84dd9p/m5tmXhdSlu+dBWVouZZZRA8Bcx8W1TMIHgZkn4mT0195gPAa5AjzzE08fgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHXN4oB2FR8/GA83DjmhC1M05RzorNCZWrA6r7mmuoArAiBuTuTRjjBIbeHgfbqyaqNMRBVbGe5TH7VQF7HGyGiF/A=="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"directories":{}},"0.3.1":{"author":{"name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.3.1","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy","cov":"./node_modules/.bin/istanbul cover _mocha"},"dependencies":{"magneto":"~0.4.0","underscore":"~1.5.2","async":"~0.2.9","aws-sdk":"~1.10.0","debug":"~0.7.2","istanbul":"~0.1.44"},"devDependencies":{"mocha":"~1.13.0"},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb","dynamo"],"license":"MIT","mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![NPM](https://nodei.co/npm/levelmeup.png?downloads=true&stars=true)](https://nodei.co/npm/mambo/)\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.3.1","dist":{"shasum":"0fc44eb3417a2d7a4bab44c8a1e6556b2cde8f68","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.3.1.tgz","integrity":"sha512-moVUuSpbmXhoOWkMF2mY3b68Z5SHeAk8rKhR3aaqBQCMXX0z3MJwzaEep5hepAwHL5q4wZ1CBobZsf3Lcl1e9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAtwtT1JCoIrZFRVzb151FdLxgqpsL5mkw6q02v9DeQdAiEApWb83NiPOzabB9YzrH1aYqx7zjpxPTWIMC/SIEHI1KE="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}]},"0.3.2":{"author":{"name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"name":"mambo","description":"The best document mapper for DynamoDB.","version":"0.3.2","homepage":"http://github.com/imlucas/node-mambo","repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"},"scripts":{"test":"MAMBO_BACKEND=magneto ./node_modules/.bin/mocha","docs":"mott build","pushdocs":"mott deploy","cov":"./node_modules/.bin/istanbul cover _mocha"},"dependencies":{"magneto":"~0.4.0","underscore":"~1.5.2","async":"~0.2.9","aws-sdk":"~1.10.0","debug":"~0.7.2","istanbul":"~0.1.44"},"devDependencies":{"mocha":"~1.13.0"},"engines":{"node":"*"},"keywords":["amazon","aws","dynamodb","dynamo"],"license":"MIT","mott":{"recipe":{"build":"pages","deploy":["build","deploy to github"],"metadata":{"pages":{"./docs/index.jade":"./index.html"}}}},"readme":"# mambo\n\nThe best document mapper for DynamoDB.\n\n[![NPM](https://nodei.co/npm/levelmeup.png?downloads=true&stars=true)](https://nodei.co/npm/mambo/)\n[![Build Status](https://secure.travis-ci.org/imlucas/node-mambo.png)](http://travis-ci.org/imlucas/node-mambo)\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', 'comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch(function(err, comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments', {\n            'post_id': postId,\n            'created': new Date(),\n            'author': author,\n            'comment': comment,\n            'liked_by': []\n        })\n        .commit(function(err, res){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;\n\n\n## Plugins\n\n### Distributed Locks\n\n[Mutex](https://github.com/exfm/node-mambo/blob/master/lib/mutex.js) provides a simple TTL lock like [ddbsync](https://github.com/ryandotsmith/ddbsync), as described in [Distributed Locking With DynamoDB](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328)\n\n    var Mutex = require('mambo').Mutex,\n        mutex = new Mutex('some-name', 10);\n    mutex.lock(function(err){\n        if(err) return console.error('Couldn\\'t accquire lock');\n        // Do some stuff\n        mutex.unlock(function(){\n            console.log('Unlocked.  Lock away.');\n        });\n    });\n\n## Experimental\n\n### Sorted Sets\n\nThanks to the new local secondary indexes, you can implement a sorted set\nin dynamo like you can with Redis.\n\n    var SortedSet = require('mambo').SortedSet,\n        d = new Date(),\n        songLoves = new SortedSet('loves-' + [\n            d.getYear(), d.getMonth(), d.getDay()].join('-'));\n\n    songLoves.incryby(1, 2, function(){\n        songLoves.incryby(2, 1, function(){\n            songLoves.incryby(3, 9, function(){\n                songLoves.incryby(3, 1, function(){\n                    songLoves.range(0, 3, function(err, ids){\n                        assert.deepEqual(ids, [3, 1, 2]);\n                    });\n                });\n            });\n        });\n    });\n\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    npm test\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/imlucas/node-mambo/issues"},"_id":"mambo@0.3.2","dist":{"shasum":"d8e91f742fa0a2c8985771855b5aaa934b6c299d","tarball":"https://registry.npmjs.org/mambo/-/mambo-0.3.2.tgz","integrity":"sha512-MJrUfd8qDkntI3GB9iegbKJzdCkIvUbAfpAyq9i6w9lGtYYtAofro3DX8LnXVrc+GDX+EP3J3s9ZUA+6OHCUFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEJFK5QSKGZaBYIQYW1Z+77nETIFARNwGONgaFhqyjFAIgcnA7JPldamNYHOad6bqvJbtkY1yfW/vkx7M4RvwJjIg="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}]}},"readme":"# mambo\n\nLittle wrapper for dynamo models\n\n[![Build Status](https://secure.travis-ci.org/exfm/node-mambo.png)](http://travis-ci.org/exfm/node-mambo)\n\n## Install\n\n     npm install mambo\n\n## Testing\n\n    git clone\n    npm install\n    mocha\n\n\n## Example\n\n    var mambo = require('mambo'),\n        Schema = mambo.Schema,\n        StringField = mambo.StringField,\n        NumberField = mambo.NumberField,\n        JSONField = mambo.JSONField,\n        DateField = mambo.DateField;\n\n    var Comment = new mambo.Model(new Schema(\n            'Comments', ['post_id', 'created'],\n            {\n                'post_id': NumberField,\n                'created': DateField,\n                'comment': StringField,\n                'author': StringField,\n                'liked_by': JSONField\n            }\n        ), new Schema('Users', 'username', {\n            'username': StringField,\n            'name': StringField,\n            'lastCommentPosted': DateField\n        })\n    );\n\n    Comment.getAll = function(postId){\n        this.objects('comments', postId)\n            .limit(5)\n            .fetch().then(function(comments){\n                console.log('Comments for post ' + postId + ':\\n'); console.log(JSON.stringify(comments, null, 4));\n            });\n    };\n\n    Comment.post = function(postId, author, comment){\n        this.insert('comments',\n            {\n                'post_id': postId,\n                'created': new Date(),\n                'author': author,\n                'comment': comment,\n                'liked_by': []\n            })\n            .commit().then(function(){\n            console.log('Comment added!');\n        });\n    };\n\n    module.exports = Comment;","maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"time":{"modified":"2022-06-19T15:42:03.171Z","created":"2012-11-02T15:25:54.638Z","0.0.1":"2012-11-02T15:25:55.611Z","0.0.2":"2012-11-04T20:22:08.056Z","0.0.3":"2012-11-06T21:50:09.765Z","0.0.4":"2012-11-15T22:33:16.791Z","0.0.5":"2012-11-15T23:05:43.181Z","0.0.6":"2012-11-27T20:30:16.307Z","0.0.7":"2012-11-27T22:03:39.787Z","0.0.8":"2012-11-28T00:14:06.984Z","0.0.9":"2012-12-10T02:05:38.435Z","0.0.10":"2012-12-21T18:12:39.342Z","0.0.11":"2013-01-15T01:11:55.782Z","0.0.12":"2013-01-16T18:16:34.838Z","0.0.13":"2013-01-16T18:29:40.593Z","0.0.14":"2013-02-23T21:00:41.072Z","0.0.15":"2013-03-04T16:33:30.996Z","0.0.16":"2013-03-04T17:52:02.708Z","0.0.17":"2013-03-05T23:43:13.926Z","0.0.18":"2013-03-12T00:55:16.921Z","0.0.19":"2013-03-12T18:58:15.143Z","0.0.20":"2013-03-18T14:41:00.107Z","0.0.21":"2013-04-17T18:01:45.651Z","0.0.22":"2013-04-22T00:03:15.840Z","0.2.0":"2013-06-12T16:49:09.117Z","0.2.1":"2013-06-12T20:53:48.041Z","0.2.2":"2013-06-14T15:58:18.714Z","0.2.3":"2013-06-18T19:22:29.170Z","0.2.4":"2013-06-19T19:17:18.036Z","0.2.5":"2013-07-03T22:10:14.355Z","0.2.6":"2013-07-03T22:36:08.528Z","0.2.7":"2013-07-11T16:27:23.181Z","0.2.8":"2013-07-11T16:33:09.311Z","0.2.9":"2013-07-16T15:56:32.840Z","0.2.10":"2013-07-16T16:35:08.201Z","0.2.11":"2013-07-25T22:56:49.931Z","0.2.12":"2013-07-25T23:23:55.865Z","0.2.13":"2013-07-26T00:12:50.042Z","0.2.14":"2013-07-26T00:55:52.206Z","0.3.0":"2013-10-25T00:31:33.344Z","0.3.1":"2013-10-25T01:27:04.820Z","0.3.2":"2013-10-25T01:29:21.972Z"},"author":{"name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"repository":{"type":"git","url":"git://github.com/imlucas/node-mambo.git"}}