2016-04-27 76 views
3

我想列出在我的mongodb数据库中有相应集合的所有模型?我为MongoDB使用mongoid gem。在Rails控制台中列出所有Mongoid模型

我会尝试这样的事情

ActiveRecord::Base.send :subclasses 工作正常,但我不使用ActiveRecord。

回答

3

Mongoid::Config#models

获取应用程序中的所有模型 - 这是一切,包括Mongoid::Document

所有Config方法可以从Mongoid模块进行访问,这样你就可以拨打:

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

'[Mongoid :: GridFS的:: Fs的::下载,Mongoid :: GridFS的:: Fs的::大块,发票]'只有这个。我究竟做错了什么?感谢编辑顺便说一句。 – Kumar

+0

@KumarAbinash我不知道。该方法适用于我公布的数据,即数组包含具有'include Mongoid :: Document'行的所有类。 – Stefan

+0

@Kumar,这种方法只给你在会话中使用的模型。因此,如果访问rails控制台并调用User.first,Mongoid.models将只返回用户模型。 – BernardoFire