Ich bin fast im selben Stadium wie Sie. Starten eines neuen Projekts mit MongoDB. Ich habe ungefähr 7 Wochen Erfahrung. Das habe ich sehr nützlich gefunden:
Verwenden Sie Mongoid anstelle von Mongomapper
http://mongoid.org/
Die Dokumentation ist hervorragend. Im Ernst, ausgezeichnet. Das Lesen der gesamten Dokumentation sollte ungefähr 15 Minuten dauern, und Sie haben eine sehr genaue Vorstellung davon, was Sie mit Mongoid tun können und was nicht.
Morgen wird der Release-Kandidat für eine neue Hauptversion von Mongoid veröffentlicht. Es wird viele nützliche Dinge bringen.
Ich verwende Rails 3. Um die Entwicklungsversion zu installieren, fügen Sie diese Ihrer Gem-Datei hinzu:
Edelstein 'Mongoid', "~> 2.0.0.beta"
Die aktuelle Beta ist 20, aber wie gesagt, morgen gibt es den Release Candidate.
Außerdem empfehle ich Ihnen, sich ebenfalls der Google-Gruppe anzuschließen. Es hat wenig Verkehr und die Leute sind sehr bereit, jede Frage zu beantworten. Zum Beispiel habe ich ihnen mein erstes DB-Modell gezeigt und sie haben mir viele Möglichkeiten gegeben, dies zu verbessern. Der Schöpfer von Mongoid beantwortet auch Ihre Fragen.
In zwei Worten: Großartige Gemeinschaft.
Es gibt dieses Plugin, mit dem Sie Machinist mit Mongo verwenden können:
https://github.com/nmerouze/machinist_mongo
Funktioniert ziemlich gut.
gem 'machinist_mongo', :require => 'machinist/mongoid',
:git => 'http://github.com/nmerouze/machinist_mongo.git',
:branch => 'machinist2'
Sie können Fälschung mit Maschinist verwenden. Tolle Mischung.
https://github.com/sevenwire/forgery
Eine andere Sache, die ich sagen möchte. Ich komme aus einer Beziehungsdatenbankwelt, daher klang das am Anfang wirklich komisch: Sie können Dateien in einer Mongo-Datenbank speichern.
Tatsächlich könnte es schneller sein, als sie früher zu verwalten. Dies liegt an Mongos Unterstützung für das Splittern. Sharding bedeutet, dass Sie einen Cluster von Computern verwenden können, um die Mongo-Datenbank bereitzustellen. Es ist nahtlos. Master-Slave. Sie können also eine Datei von vielen Computern aus bereitstellen, von denen jeder einen Teil sendet. Es skaliert sehr gut :)
Dies erfolgt mit GridFS. http://www.mongodb.org/display/DOCS/GridFS
Mongoid unterstützt diese Master-Slave-Konfiguration.
Fragen Sie mich, wenn Sie weitere Informationen benötigen.
Bearbeiten:
Außerdem: http://railscasts.com/episodes/238-mongoid