2012-03-18 10 views
3

私はMySQLのバックグラウンドから来て、私はMongoDBを学ぼうとしています。私にはの製品ドキュメントがあり、各製品ドキュメントにはカテゴリがあります。今私はユーザーにカテゴリを手動で選択させていますが、私が望むのは、私が定義したすべてのカテゴリのドロップダウンメニューを表示することです。
からカテゴリMySQLテーブルからMongoDBデザイン

私はカテゴリテーブルを作成し、それらをすべて入手してユーザーに表示します。私はどのようにこれらのカテゴリをMongoDBに保存しますか?

+0

カテゴリの一覧は動的ですか?あなたはその場でもっと追加しますか? –

+0

動的である必要があります。私は将来的にさらにカテゴリを追加できるようにしたいと考えています。 –

答えて

4

この場合、カテゴリコレクションを持ち、他のコレクションへのObjectIdポインタを持っているので、すべてのカテゴリの単一のマスターリストを持つことができますが、ドキュメントにも埋め込みカテゴリがありますそれに基づいて検索を実行することができます。完全な関係はありませんが、1つの場所で利用可能なカテゴリを把握することができます。

IMO、mongoの哲学は、すべての関係を取り除くことを意味するのではなく、意味があるところにそれらを持たせることを意味します。

+0

迅速な回答ありがとうございます。私はコレクションを持っていると思っていましたが、そのコレクションの各ドキュメントはとてもシンプルです:id、category_name。私はそれのためのコレクションを作成するか? –

+0

あなたのアプリケーションが成長するにつれて、いつでも作成時間、説明のような余分なメタデータを追加することができます。そのコレクションを使用してサブカテゴリを記述することもできます。 –

+1

ユースケースに応じて、ユーザーがカテゴリを選択し、カテゴリを製品ドキュメントの文字列として保存するカテゴリコレクションを作成できます。これにより、製品を表示したり、カテゴリに基づいて製品を探したいときにデータを結合する心配がなくなります。 – michaeltwofish

関連する問題