나는 mongo_mapper를 사용하여 레일즈에서 mongodb로 첫 번째 어플리케이션을 시도하고 있으며 아래의 STI 모델에서 내 옵션을 비교 중이다.mongodb 데이터 디자인 질문
잘 작동합니다. 물론 내가 현재 계산할 수있는 것보다 더 많은 방법으로이 작업을 추가 할 예정입니다. 임베디드 문서 또는 일부 작업을 더 잘 수행하지 못한다면 궁금 할 것입니다.
내 모델은 가능한 한 많이 공유하고 싶습니다. IE는 특정 속성, 공유 된 부분/property/_form.html.erb ... 등의 고유 한 양식 요소 등을 상속합니다. 보기가 다르다는 것을 알고 있지만 컨트롤러에 대해서는 아직 잘 모르겠습니다. 속성 컨트롤러를 사용할 수 있으므로 대부분의 작업을 맡을 수 있습니까? 그리고 내가 갈수록 더 복잡해질 것이라고 확신합니다.
모든 포인터 자원 및/또는 지혜 (통증이 팁을 저장)을 크게 감상 할 수
property.rb
class Property
include MongoMapper::Document
key :name, String, :required => true
key :_type, String, :required => true
key :location_id, Integer, :required => true
key :description, String
key :phone, String
key :address, String
key :url, String
key :lat, Numeric
key :lng, Numeric
key :user_id, Integer, :required => true
timestamps!
end
레스토랑
class Restaurant < Property
key :cuisine_types, Array, :required => true
end
바
class Bar < Property
key :beers_on_tap, Array
end
특정 모델 (예 : cuisine_types, beers_on_taps ...)이없는 모든 종류의 목록이 필요할 것입니다. 내가 생각하기에 태깅과 비슷하지만 백만 개의 모델을 다룰 필요없이 다형성 컬렉션을 사용할 수 있습니까? – holden
이것은 도움이되었다 : http://code.alexreisner.com/articles/single-table-inheritance-in-rails.html – holden