私のプロジェクトでは、3 つのモデルがあります。
- 街
- プラザ
- 店
都市には広場と店舗があります。広場には店舗があります。
私の最初の設計は、関係に「外部キー」を使用することです。(私はmysqlから来て、jsutはmongodbを拾い始めました)
class City(Document):
name = StringField()
class Plaza(Document):
name = StringField()
city = ObjectIdField()
class Store(Document):
name = StringField()
city = ObjectIDField()
plaza = ObjectIdField()
この設計は、SQL アプローチに非常に似ていると思います。
プロジェクトの範囲は次のとおりです。5 つの都市。各都市には 5 つの広場があります。プラザには200店舗あります。ストアには多数の製品があります (上記のコードではモデル化されていません)
都市または広場にあるすべての店舗にクエリを実行します。都市のすべての広場。
City コレクションにすべての店舗と広場を埋め込む必要がありますか? mongodb では参照を使用せず、代わりに埋め込みドキュメントを使用すると聞いています。私の特定のプロジェクトでは、どちらがより良いアプローチですか? 私にとっては、「外部キー」の設計には満足していますが、mongodb を利用しないことを恐れています。