.. _ruby-external-resources: ******************** Additional Resources ******************** .. default-domain:: mongodb .. contents:: On this page :local: :backlinks: none :depth: 1 :class: twocols There are a number of good resources appearing all over the web for learning about MongoDB and Ruby. A useful selection is listed below. If you know of others, do let us know. Screencasts =========== - `Introduction to MongoDB - Part I `_ An introduction to MongoDB via the MongoDB shell. - `Introduction to MongoDB - Part II `_ In this screencast, Joon You teaches how to use the Ruby driver to build a simple Sinatra app. - `Introduction to MongoDB - Part III `_ For the final screencast in the series, Joon You introduces MongoMapper and Rails. - `RailsCasts: MongoDB & MongoMapper `_ Ryan Bates' RailsCast introducing MongoDB and MongoMapper. - `RailsCasts: Mongoid `_ Ryan Bates' RailsCast introducing Mongoid. Presentations ============= - `Introduction to MongoDB (Video) `_ Mike Dirolf's introduction to MongoDB at Pivotal Labs, SF. - `MongoDB: A Ruby Document Store that doesn't rhyme with 'Ouch' (Slides) `_ Wynn Netherland's introduction to MongoDB with some comparisons to CouchDB. - `MongoDB (is) for Rubyists (Slides) `_ Kyle Banker's presentation on why MongoDB is for Rubyists (and all human-oriented programmers). Articles ======== - `Why I Think Mongo is to Databases What Rails was to Frameworks `_ - `What if a key-value store mated with a relational database system? `_ - `Mongo Tips `_ John Nunemaker's articles on MongoDB and his Mongo Tips blog. - A series of articles on aggregation with MongoDB and Ruby: 1. `Part I: Introduction of Aggregation in MongoDB `_ #. `Part II: MongoDB Grouping Elaborated `_ #. `Part III: Introduction to Map-Reduce in MongoDB `_ - `Does the MongoDB Driver Support Feature X? `_ An explanation of how the MongoDB drivers usually automatically support new database features. Projects ======== - `Capistrano Mongo Sync `_ Sync your local development db with your remote production db using capistrano. - `Simple Pub/Sub `_ A very simple pub/sub system. - `Mongo Queue `_ An extensible thread safe job/message queueing system that uses MongoDB as the persistent storage engine. - `Resque-mongo `_ A port of the Github's Resque to MongoDB. - `Mongo Admin `_ A Rails plugin for browsing and managing MongoDB data. See the `live demo `_. - `Sinatra Resource `_ Resource Oriented Architecture (REST) for Sinatra and MongoMapper. - `NewsMonger `_ A simple social news application demonstrating MongoMapper and Rails. - `Data Catalog API `_ From `Sunlight Labs `_, a non-trivial application using MongoMapper and Sinatra. - `Watchtower `_ An example application using Mustache, MongoDB, and Sinatra. - `Shapado `_ A question and answer site similar to Stack Overflow. Live version at `shapado.com `_. .. Does not seem to exist .. - `Shorty `_ .. A URL-shortener written with Sinatra and the MongoDB Ruby driver. Libraries ========= - `ActiveExpando `_ An extension to ActiveRecord to allow the storage of arbitrary attributes in MongoDB. - `ActsAsTree (MongoMapper) `_ ActsAsTree implementation for MongoMapper. - `Machinist adapter (MongoMapper) `_ Machinist adapter using MongoMapper. - `Mongo-Delegate `_ A delegation library for experimenting with production data without altering it. A quite useful pattern. - `Remarkable Matchers (MongoMapper) `_ Testing / Matchers library using MongoMapper. - `OpenIdAuthentication, supporting MongoDB as the datastore `_ Brandon Keepers' fork of OpenIdAuthentication supporting MongoDB. - `MongoTree (MongoRecord) `_ MongoTree adds parent / child relationships to MongoRecord. - `Merb_MongoMapper `_ A plugin for the Merb framework for supporting MongoMapper models. - `Mongolytics (MongoMapper) `_ A web analytics tool. - `Rack-GridFS `_ A Rack middleware component that creates HTTP endpoints for files stored in GridFS.