我正在使用 mongodb 和 mongomapper 开发 Rails 应用程序。我想索引数据库中的几个键。这是我在 mongo 上的第一个项目。
我想索引的键可以这样指定
User.ensure_index(:email)
如此处所述
我的问题是,我是否需要手动调用它(可能将其包装在一个方法中)以使索引真正发生?
以及如何找到具有索引的键列表?
我正在使用 mongodb 和 mongomapper 开发 Rails 应用程序。我想索引数据库中的几个键。这是我在 mongo 上的第一个项目。
我想索引的键可以这样指定
User.ensure_index(:email)
如此处所述
我的问题是,我是否需要手动调用它(可能将其包装在一个方法中)以使索引真正发生?
以及如何找到具有索引的键列表?
以下是我的问题的答案
我是否需要手动调用它(可能将其包装在一个方法中)以使索引真正发生?
是的,我们必须手动调用 Model 上的 ensure_index 方法。所以我们可以将它包装在一个方法中,并可以从控制台甚至是 rake 任务中调用。
def self.create_index
self.ensure_index(:email)
self.ensure_index(:first_name)
self.ensure_index(:last_name)
true
end
然后从控制台
User.create_index
您可以像这样使用 mongo 的 getIndexes() 方法检查哪些键被索引
mongo #=> enter the mongo console
show dbs #=> see the list of available dbs
use my_database #=> switch to your database
db.table_name.getIndexes() #=> replace table_name with your's
就是这样,你可以在你的桌子上看到索引列表
谢谢!