Je suis à peu près au même stade que vous. Démarrage d'un nouveau projet avec MongoDB. J'ai environ 7 semaines d'expérience. Voici ce que j'ai trouvé très utile:
Utilisez Mongoid au lieu de Mongomapper
http://mongoid.org/
La documentation est excellente. Sérieusement, excellent. Cela devrait vous prendre environ 15 minutes pour lire toute la documentation et vous aurez une idée très précise de ce que vous pouvez et ne pouvez pas faire avec Mongoid.
Demain, la release candidate pour une nouvelle version majeure de mongoid sortira. Cela va apporter beaucoup de choses utiles.
J'utilise Rails 3. Pour installer la version de développement, ajoutez ceci à votre fichier gem:
gem 'mongoïde', "~> 2.0.0.beta"
La version bêta actuelle est de 20, mais comme je l'ai dit, demain il y a la release candidate.
Je vous suggère également de rejoindre le groupe Google. Le trafic est faible et les gens sont prêts à répondre à toutes les questions. Par exemple, je leur ai montré ma première conception de modèle DB et ils m'ont donné de nombreuses façons d'améliorer cela. Le créateur de Mongoid répond également à vos questions.
En deux mots: une grande communauté.
Il existe ce plugin qui vous permet d'utiliser Machinist avec mongo:
https://github.com/nmerouze/machinist_mongo
Fonctionne plutôt bien.
gem 'machinist_mongo', :require => 'machinist/mongoid',
:git => 'http://github.com/nmerouze/machinist_mongo.git',
:branch => 'machinist2'
Vous pouvez utiliser Faux avec Machinist. Mélange génial.
https://github.com/sevenwire/forgery
Une autre chose que je veux dire. Je viens d'un monde de base de données de relations, donc cela semblait vraiment bizarre au début: vous pouvez enregistrer des fichiers dans une base de données mongo.
En fait, cela pourrait être plus rapide que de les gérer comme nous le faisions auparavant. Ceci est dû au support de mongo pour le sharding. Le partage signifie que vous pouvez utiliser un cluster d'ordinateurs pour servir la base de données Mongo. C'est transparent. Maître d'esclave. Ainsi, vous pouvez servir un fichier à partir de nombreux ordinateurs, chacun en envoyant une partie. Il évolue très bien :)
Ceci est fait en utilisant GridFS. http://www.mongodb.org/display/DOCS/GridFS
Mongoid prend en charge cette configuration maître-esclave.
Demandez-moi si vous avez besoin de plus d'informations.
Éditer:
Aussi: http://railscasts.com/episodes/238-mongoid