スキーマ設計に関する大規模な推奨事項は、ここで議論するための少し広いトピックになる可能性があります。ただし、表示している要素を配列に配置することを検討することをお勧めします。 各アイテムのフィールドを持つ単一のサブドキュメントではなく、サブドキュメントの数。
{
sku: "1011",
name: [{ "en": "cheese" }, {"de": "Käse"}, {"es": "queso"}, etc... ],
price: [{ "usd": 30.95 }, { "eur": 20 }, { "aud": 40 }, etc... ]
}
この主な理由は、アクセスパスの考慮事項です。 クエリを簡単にする要素に。これについては、こちら で詳しく説明しました。 読む価値があるかもしれません。
名前フィールドのようなもののためにこれを拡張する可能性もあります:
name: [
{ "lang": "en", "value": "cheese" },
{ "lang": "de", "value: "Käse" },
{ "lang": "es", "value": "queso" },
etc...
]
すべては、インデックス作成とアクセス要件によって異なります。それはすべて、アプリケーションが正確に何を必要としているかによって異なります。MongoDBの優れている点は、ドキュメントをニーズに合わせて構造化できることです。
P.Sお金を保管している場所について 値、私はあなたがいくつかの読書をして、多分ここのこの投稿から始めることを提案します: