DBについての質問です。
- Ruby on Rails 3.2.8
- ORM(Mongoid )
- MongoDB 2.2.1
あるテーブル(コレクション)に動画のデータ(URLやメタ情報など)を保存しています。
たまに動画データが分割されている場合があるので、連続性を持たせるために分割されているものだけに連番を振りたいのですが、この場合どういった関連性を持たせればいいのかわかりません。
どなたか詳しい方教えてもらえませんでしょうか?
うまく質問できていないかもしれませんので、不足している情報などありましたらお気軽に質問してください。
みんなの回答 2 件
ユーザー側で、複数の動画をアップ後、それぞれの再生順序を指定できるようにしておいて、あとはその指定通りに動画idと順番のデータを、どっかのテーブルに保存しておけばいいんじゃない?
> これだとまとめるためだけの別のデータ作成が必要になるので、
素直にRailsの考え方に沿って作るなら、もう1つテーブルを作って、has_manyか何かでテーブルを関連付けて、動画をグループ分けさせる方が良いと思うのですが、それが出来ない理由があるということでしょうか?
どうしても、1つのテーブルで納めたいのなら、下のいずれかの方法かなー。
正直、保存時にいちいちチェックが入るなど、一手間かける必要がありますし、柔軟性も無くなりますし、バグが混在する可能性もあるので、あまりお勧めできる方法じゃないですね。
「既存システムのデータを再利用するため、テーブルの構造を変えられない」とかなら分からなくも無いですが、そうでないなら、素直にもう一つ、テーブルを作成した方が良いかと思います。
関連するトピックス