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 に答える