2016-04-27 4 views
3

Ich möchte alle Modelle mit einer entsprechenden Sammlung in meiner mongodb-Datenbank auflisten? Ich verwende mongoid Gem für MongoDB.Alle Mongoid-Modelle in der Rails-Konsole auflisten

würde ich so etwas wie diese

ActiveRecord::Base.send :subclasses versuchen, die gut funktioniert, aber ich bin mit Active nicht.

Antwort

3

ist verwenden Es Mongoid::Config#models:

in der Anwendung alle Modelle Get - das ist alles, was Mongoid::Document enthält.

Alle Config Methoden aus dem Mongoid Modul zugegriffen werden kann, können Sie so nennen:

Mongoid.models #=> [...] 
+0

'[Mongoid :: GridFs :: Fs :: Datei, Mongoid :: GridFs :: Fs :: Chunk, Invoice] 'Habe das nur bekommen. Was mache ich falsch? Danke für den Schnitt BTW. – Kumar

+0

@KumarAbinash Ich weiß es nicht. Die Methode funktioniert für mich wie beschrieben, d. H. Das Array enthält alle Klassen mit der Zeile "Include Mongoid :: Document". – Stefan

+0

@Kumar, diese Methode gibt Ihnen nur die Modelle, die in der Sitzung verwendet wurden, die Sie sind. Wenn Sie also beispielsweise auf die rails-Konsole zugreifen und User.first aufrufen, gibt Mongoid.models nur das Benutzermodell zurück. – BernardoFire

Verwandte Themen