2012-01-07 5 views
0

私はmongodbとnosqlを合計するとnoobですが、非常に早くたくさんのことを学びたいと思っています。MongoDBの "Generic Collection"?

だから、実際には同じタイプがありますが、いくつかは子供です/メインタイプを継承しています。今、それを「ファイル」と呼ぶことができます。このファイルはイメージかexeかもしれません。画像の場合は、exeファイルとは異なるフィールドを持っています。しかし、一般的に、彼らは同じ「もの」 - >ファイルです。

DBスキーマのRDBMSスタイルを使用しないで、これをどのように実装しますか?

ありがとうございました!

答えて

3

まず、データベースにバイナリファイルを格納する計画はないと思います(リレーショナルかどうか)。そうする予定がある場合、MongoDBはGridFSをサポートしています。

あなたのスキーマには名前と型の属性があり、MongoDBはスキーマレスなので、属性を非常に簡単にドキュメントに追加できます。これらの文書はすべて同じコレクションの一部にすることができます。

私はIGNで働いていますが、さまざまなプラットフォームのゲームでは属性が異なりますが、ゲームの終わりにはすべて「ゲーム」です。 Angry BirdsのようなiOSゲームのように、たとえばModern Warfareと同じ属性はありません。

運が良かった!お役に立てれば。

+0

ありがとうございました! IGNでのあなたの状況とまったく同じです。アトリビュートトリックindepthを説明する記事を知っていますか?私はいくつかの種類の属性マップを使用しています。 GridFSのリファレンスに感謝します! – japrescott

+0

私は何かが間違っていることを理解したことを認識しました。私はドキュメントにフィールド(属性ではない)を追加したり、同じコレクションに保存したりするだけで、いくつかのドキュメントにそのフィールドがあるか、またはそれらは失われます。素晴らしいもの!私に正しい方向を示してくれてありがとう! – japrescott

+0

あなたは歓迎です - 私は助けになることができてうれしいです。 Dwight Merriman on Slideshareのスキーマデザインプレゼンテーションは、Mongoカンファレンスで頻繁に話しています。 – lobster1234