Ruby on rails 如何将mongoid中的索引添加到rails中的引用模型?

Ruby on rails 如何将mongoid中的索引添加到rails中的引用模型?,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,我有一个答案模型,参考了用户和选择模型 class Answer include Mongoid::Document belongs_to :user belongs_to :choice end 我正在尝试将索引添加到答案模型中。 在Mysql中,它如下所示: add_index :answers, [:choice_id, :user_id], unique: true 我查阅了mongoid文档。mongo实现同样目标的方法是(只是尝试) 然后运行rake db:mongo

我有一个答案模型,参考了用户选择模型

class Answer
  include Mongoid::Document
  belongs_to :user
  belongs_to :choice
end
我正在尝试将索引添加到答案模型中。 在Mysql中,它如下所示:

add_index :answers, [:choice_id, :user_id], unique: true
我查阅了mongoid文档。mongo实现同样目标的方法是(只是尝试)

然后运行rake db:mongoid:create_索引


是这样吗?如果我错了,请纠正我

您必须在模型类中添加
index
方法,以具有如下复合索引:

class Answer
  include Mongoid::Document
  belongs_to :user, index: true
  belongs_to :choice, index: true

  index({ choice_id: 1, user_id: 1 }, { unique: true })
end
index:true
对于定义的属性,只需为该特定字段创建索引即可

现在,将为新创建的记录生成索引。您可以通过运行以下命令来填充旧记录的索引:

rake db:mongoid:create_indexes
如果只想为
Answer
模型集合填充索引,请从控制台运行以下命令:

Answer.create_indexes
有关更多详细信息,请参阅


希望有帮助

您必须在模型类中添加
index
方法,以具有如下复合索引:

class Answer
  include Mongoid::Document
  belongs_to :user, index: true
  belongs_to :choice, index: true

  index({ choice_id: 1, user_id: 1 }, { unique: true })
end
index:true
对于定义的属性,只需为该特定字段创建索引即可

现在,将为新创建的记录生成索引。您可以通过运行以下命令来填充旧记录的索引:

rake db:mongoid:create_indexes
如果只想为
Answer
模型集合填充索引,请从控制台运行以下命令:

Answer.create_indexes
有关更多详细信息,请参阅


希望有帮助

如果医生这么说是对的。你在当地试过吗?如果医生说是的话。你在当地试过吗?