Heroku で Mongoid を実行している Rails アプリがあり、データベースを高速化するためにいくつかのインデックスを設定する必要があります。私はそれについていくつかの場所で読み込もうとしましたが、Mongoid にはインデックス作成用の組み込み関数がいくつかあることは知っていますが、それらを何に適用し、どのくらいの頻度でインデックスを作成するかはわかりません。
インデックスを作成したいのは主に私のデザインモデルです。
scope :full_member_and_show, where(full_member: true).and(show: true).desc(:created_at)
scope :not_full_member_and_show, where(full_member: false).and(show: true).desc(:created_at)
embeds_many :comments
belongs_to :designer
search_in :tags_array
attr_accessible :image, :tags, :description, :title, :featured, :project_number, :show
field :width
field :height
field :description
field :title
field :tags, type: Array
field :featured, :type => Boolean, :default => false
field :project_number, :type => Integer, :default => 0
field :show, :type => Boolean, :default => true
field :full_member, :type => Boolean, :default => false
field :first_design, :type => Boolean, :default => false
何をインデックス化する必要がありますか、Mongoid を使用してどのように正確にインデックスを作成し、どのくらいの頻度でインデックスを作成する必要がありますか?
エラー更新
以下にインデックスを付けようとすると:
index({ full_member: 1, show: 1 }, { unique: true })
次のエラーが表示されます。
Invalid index specification {:full_member=>1, :show=>1}; should be either a string, symbol, or an array of arrays.