我想查看MongoDB使用的现有索引。我可以做等同于
$ mongod
> use my_db
> db.system.indexes.find()
使用Mongoid吗?
$ rails console
> ?
使用MongoHQ在我的heroku应用程序中会很方便。谢谢!
您可以通过collection
获得Mongoid模型的基础索引。
> YourModel.collection.indexes
这会向下进入助力车驱动程序(在Mongoid 3中)。参见http://mongoid.org/en/moped/docs/driver.html
为了使用史蒂夫的答案,我将其添加到模块中以执行“常见的事情”:
module CommonModelMethods
extend ActiveSupport::Concern
class_methods do
def show_indexes
self.collection.indexes.to_a.collect{|i| i[:key]}
end
end
end
然后该模块可以包含在您的类中(在开发过程中很有用):
class WaterSupply
include Mongoid::Document
include CommonModelMethods
...
end
这会在控制台中导致类似这样的结果:
2.4.5 :031 > WaterSupply.show_indexes
=> [{"_id"=>1}, {"location"=>"2dsphere"}, {"address"=>1}, {"organization_id"=>1, "address"=>1}]