mongodb/mongoid を使用して Ruby on Rails アプリを実装していますが、より優れたインデックス作成/検索構造について少し混乱しています。staff
モデルにフィールドがあり、スタッフは生産、ブローカー、オフィスのいずれかのタイプにすることができます。各スタッフはPerson
. 各タイプには複数のスタッフを含めることができます。
だから私は2つのアプローチがあります:
1)。のように作っstaff as an array
て保存する
[{:key => 'broker', :name => "Broker Name", :person_id => "654978"},
{:key => 'office', :name => "Office Staff 1", :person_id => "564654"},
{:key => 'office', :name => 'another office', :person_id => '79878'}]
2)。Make は a Hash
、store は as
{:brokers => [{:person_id =>
2134, :name => 'Broker 1'}],
:office =>> [{:person_id =>
2131, :name => 'Office 1'}, {:person_id => 1231, :name => 'Office
2'}]}
これらのドキュメントにインデックスを付けたいので、office = '465456' のようなドキュメントを検索できるようにする必要があります。