MongoDBで私の手を汚くしようとしました。リレーショナルデータベースの背景から来ています。MongoDBの更新パラダイム
MongoDBの主な概念の1つは、可能な限り多くのデータをまとめることです。
私は製品とカテゴリを持つアプリケーションを作成し、私は製品をこのように保存想像:
製品コレクション
{
"_id": "30671", //main item ID
"department": "Shoes",
"category": "Shoes/Women/Pumps",
"brand": "Calvin Klein",
"thumbnail": "http://cdn.../pump.jpg",
"title": "Evening Platform Pumps",
"description": "Perfect for a casual night out or a formal event.",
"style": "Designer",
…
}
カテゴリーコレクション
{
"_id": "12356",
"name": "Shoes"
…
}
もしIカテゴリ名を更新すると、巨大な更新プログラムを実行する必要がありますかすべての製品も更新する必要がありますか?あるいは、このシナリオでは、名前の代わりに製品に対してカテゴリIDを実際に格納する方が良いでしょう(リレーショナルデータベースのように)。一般的に
おかげ
"のNoSQL" などというものはありません。それは単なる集合的な用語です。 MongoDBやFirebase、Cassandraなどを使用します。通常、RDBMSの土地ではすべてが同じSQLを使用します。他の人たちと対処するときに**共通の言語**はありません。だから実際に何も意味しないので、 "NoSQL"で物事を参照することをやめることができます。目的とするターゲットシステムの構文だけが重要です。 –
次のポイント。あなたが知っていることは、複数のコレクションにデータを保存することができます。あなたが求めるべきことは、「本当に**必要ですか?」*です。答えが** NO **の場合、それは "非リレーショナル"ベースのデータベースソリューションを見始めるときです。 ** YES **の場合、もちろん、他のエンジンに適しているドメインロジックの重要な部分があり、異なるエンジンを使用することは問題にならない限り、リレーショナルモデルは優れています。結論はあなたの「ここの質問」が広すぎることです。 **最高のものではなく、**あなたのために最善のものです**。 –
@ NeilLunn、私は簡単な例(cats/prods)を使用して私の質問を説明しました。他の状況でも同じ概念を簡単に適用できます。だから、私にとって何が最善の問題かは分かりませんが、MongoDBの経験豊富な人から、同じ情報を複数の場所に持っている場合の対処方法を聞きたいと思います。私はそれがStackoverflowが知識を共有していたものだと思った。 – AndreFeijo