我有一个在 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.