MongoDB ist ein NoSQL-Dokumentendatenbanksystem, das sich gut für moderne Webanwendungen eignet. Man kann es in Ruby on Rails einsetzen, indem man das Mongoid-Gem oder das offizielle MongoDB-Gem verwendet.
Installieren und Einrichten von MongoDB
1. MongoDB muss zuerst auf dem Entwicklungscomputer installiert und eingerichtet werden. Die Installationsanleitungen sind auf der MongoDB-Website zu finden.
2. Nach der Installation muss man sicherstellen, dass der MongoDB-Dienst läuft.
Einsatz von Mongoid mit Rails
1. Als Erstes muss man das Mongoid-Gem in die Gemfile der Rails-Anwendung einfügen:
```ruby
gem ‘mongoid’, ‘~> 7.0.5‘
```
2. Führe `bundle install` aus, um das Gem zu installieren.
3. Erzeuge eine Mongoid-Konfigurationsdatei mit dem Befehl `rails g mongoid:config`. Dies erzeugt eine `config/mongoid.yml` Datei.
4. Anschließend muss man MongoDB als Datenbank für das Rails-Projekt einstellen. Das kann man tun, indem man die Konfigurationsdatei entsprechend bearbeitet.
5. Nun kann man Modelle erstellen und mit ihnen wie gewohnt in Rails arbeiten. Man kann auch die Rails-Konsolenbefehle verwenden, um mit den Daten zu interagieren.
Einsatz des MongoDB Gems mit Rails
1. Füge das MongoDB-Gem in die Gemfile der Rails-Anwendung ein:
```ruby
gem ‘mongo‘
```
2. Führe `bundle install` aus, um das Gem zu installieren.
3. In der Rails-Anwendung kann man dann eine Verbindung zu MongoDB aufbauen und Daten abrufen oder speichern. Hier ein Beispiel:
```ruby
require ‘mongo’
client = Mongo::Client.new([ ’127.0.0.1:27017’ ], :database => ‘test’)
collection = client[:people]
collection.insert_one({ :name => ‘Leeroy Jenkins’ })
```
Wichtig zu beachten ist, dass bei der Verwendung des MongoDB Gems die Modelle nicht mehr von ActiveRecord erben und man auf eigene Weise mit den Daten in MongoDB interagieren muss. Bei der Verwendung von Mongoid hingegen bleibt die typische Rails-Erfahrung erhalten.
Unabhängig davon, ob man Mongoid oder das MongoDB-Gem verwendet, ist es ratsam, sich mit den Dokumentationen dieser Projekte vertraut zu machen, um ein tieferes Verständnis dafür zu erlangen, wie man MongoDB effektiv in Rails einsetzt und welche spezifischen Funktionen und Optionen verfügbar sind.