Jestem prawie na tym samym etapie co ty. Rozpoczynanie nowego projektu z MongoDB. Mam około 7 tygodni doświadczenia. Oto, co uznałem za bardzo przydatne:
Użyj Mongoid zamiast Mongomapper
http://mongoid.org/
Dokumentacja jest doskonała. Poważnie, świetnie. Przeczytanie całej dokumentacji powinno zająć około 15 minut, a będziesz mieć bardzo dokładne pojęcie o tym, co możesz zrobić, a czego nie możesz zrobić z Mongoidem.
Jutro zostanie wydany kandydat do wydania nowej głównej wersji mongoid. Przyniesie wiele pożytecznych rzeczy.
Używam Rails 3. Aby zainstalować wersję rozwojową, dodaj to do pliku gem:
klejnot 'mongoid', "~> 2.0.0.beta"
Obecna beta to 20, ale jak powiedziałem, jutro pojawi się kandydat do wydania.
Proponuję również, abyś dołączył do grupy Google. Ma mały ruch i ludzie bardzo chętnie odpowiadają na każde pytanie. Na przykład pokazałem im mój pierwszy projekt DB Model i dali mi wiele sposobów na ulepszenie tego. Twórca Mongoid również odpowie na Twoje pytania.
W dwóch słowach: wspaniała społeczność.
Jest taka wtyczka, która umożliwia korzystanie z Machinist z mongo:
https://github.com/nmerouze/machinist_mongo
Działa całkiem dobrze.
gem 'machinist_mongo', :require => 'machinist/mongoid',
:git => 'http://github.com/nmerouze/machinist_mongo.git',
:branch => 'machinist2'
Możesz użyć Fałszerstwa z Machinistą. Niesamowita mieszanka.
https://github.com/sevenwire/forgery
Jeszcze jedna rzecz, którą chcę powiedzieć. Pochodzę ze świata relacyjnych baz danych, więc na początku brzmiało to naprawdę dziwnie: Możesz zapisywać pliki w bazie danych mongo.
W rzeczywistości mogłoby to być szybsze niż zarządzanie nimi tak, jak to robiliśmy. Dzieje się tak z powodu wsparcia dla shardingu przez mongo. Sharding oznacza, że możesz używać klastra komputerów do obsługi bazy danych Mongo. Jest bezproblemowa. Master-slave. Możesz więc udostępniać plik z wielu komputerów, z których każdy wysyła część. Bardzo dobrze się skaluje :)
Odbywa się to za pomocą GridFS. http://www.mongodb.org/display/DOCS/GridFS
Mongoid obsługuje tę konfigurację master-slave.
Zapytaj mnie, jeśli potrzebujesz więcej informacji.
Edytować:
Również: http://railscasts.com/episodes/238-mongoid