1

スタックオーバーフローなど?

一部のタグが同義語であることに気づきました。たとえば、レストランやレストラン。一部のタグは階層的です。たとえば、食べ物->レストラン。

データ構造をmongodbにどのように保存しますか?

デフォルトがidである同義語のセットがありますか?

また、たとえば、ユーザーが1つまたは複数のレストランを検索した場合はどうしますか?

すべての検索をデフォルトの形式に変換してタグを検索しますか、それとも検索をすべての同義語に拡張しますか?

標準的な方法は何ですか?

私はmongodbを使用しています。

4

1 に答える 1

1

StackOverflowスキーマはリレーショナルです。(具体的には、 MS SQL Server 2008)タグと投稿の間の多対多の関係を維持します。また、タグとその同義語との一方向の関係を維持します。

あなたのレストランの例は、分類内のノード名に同義語が含まれている可能性がある分類システムのようです。この場合、分類のデータ構造は実際のノード名よりも重要になる可能性があります。シノニムの実装方法は、データ構造と予想されるクエリパターンに大きく依存します。さまざまな異なるデータ構造を確認するには、データモデリングパターンのドキュメントをご覧ください。

Mongoには、コアDBサーバーに組み込まれている名前エイリアシング機能はありません。一部のORMは、クライアント側で限定された名前のエイリアシング機能を提供します。たとえば、仮想属性を介してマングース。ただし、これらは基本的なパフォーマンス上の利点を提供せず、データベースで実際に何が起こっているのかがわかりにくくなる可能性があるため、注意して使用する必要があります。

于 2013-01-19T15:39:25.247 に答える