将我的应用程序迁移到NoSQL(在我的情况下使用Mongoid的MongoDB)。在迁移之前,我的用户相关模型看起来像这样:
class User < ActiveRecord::Base
has_one :profile, class_name: 'UserProfile', dependent: destroy
end
class UserProfile < ActiveRecord::Base
belongs_to :user
belongs_to :country
belongs_to :region
belongs_to :locality
end
class Country < ActiveRecord::Base
has_many :regions, dependent: destroy
has_many :localities, dependent: destroy
has_many :user_profiles
end
class Region < ActiveRecord::Base
belongs_to :country
has_many :localities, dependent: destroy
has_many :user_profiles
end
class Locality < ActiveRecord::Base
belongs_to :country
belongs_to :region
has_many :user_profiles
end
所以,我把表'用户','user_profiles','国家','地区','地方'分开了。 我没有很多使用Mongo的经验,但是我知道没有连接查询,所以我不确定我当前的结构是否适合NoSQL的范例。它不会产生很多额外的查询吗?