1

我正在使用 mongodb 和 mongomapper 开发 Rails 应用程序。我想索引数据库中的几个键。这是我在 mongo 上的第一个项目。

我想索引的键可以这样指定

User.ensure_index(:email)

如此处所述

我的问题是,我是否需要手动调用它(可能将其包装在一个方法中)以使索引真正发生?

以及如何找到具有索引的键列表?

4

1 回答 1

0

以下是我的问题的答案

我是否需要手动调用它(可能将其包装在一个方法中)以使索引真正发生?

是的,我们必须手动调用 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

就是这样,你可以在你的桌子上看到索引列表

谢谢!

于 2013-02-13T10:56:55.097 回答