我是Mongodb的新手。我知道如何在Mysql中为活动记录rails应用程序添加索引。我正在努力学习mongo方法。
我正在生成一个包含以下字段的用户模型。
rails g model User provider:string uid:string name:string location:string image_url:string url:string
在Mysql中,我需要添加到迁移文件的索引如下
443343_create_users.rb
t.string :provider, null: false
t.string :uid, null: false
add_index :users, :provider
add_index :users, :uid
add_index :users, [:provider, :uid], unique: true
如何在使用mongoid创建的用户模型中实现相同功能
class User
include Mongoid::Document
field :provider, type: String
field :uid, type: String
field :name, type: String
field :location, type: String
field :image_url, type: String
field :url, type: String
end
答案 0 :(得分:1)
使用mongoid,您可以在模型类中定义索引。
class User
include Mongoid::Document
field :provider, type: String
field :uid, type: String
index({ provider: 1, uid: 1 }, { unique: true})
end
然后,您可以运行此命令来创建所有缺失的索引(存在于模型中但不存在于数据库中)
rake db:mongoid:create_indexes