2

ドキュメント ストアではリレーションが実際には必要ないことは理解していますが、いくつかの場合にはリレーションが役立つ場合があります。それとも私は間違っていますか(RDBMSに雪が降った)?

例えば:

たくさんのファイルとそのリビジョン履歴があるとしましょう:

File
   Name
   Path
   CreatedBy
   .. etc ..
   Revision
      Date
      Info 
      CreatedBy

CreatedByファイルとすべてのリビジョンにUser オブジェクトを追加する必要がありますか?それとも、ユーザー ドキュメントを参照する ID にする必要がありますか? 一般的な慣行は何ですか?

4

1 に答える 1

1

ファイルとすべてのリビジョンのUserオブジェクトをCreatedByに追加する必要がありますか、それともUserドキュメントを参照するIDである必要がありますか?一般的な方法は何ですか?

MongoDBCouchDBの両方にこのトピックに関する記事があり、シナリオ、データ、および使用しているDBシステムによって異なります。埋め込みまたは参照することを検討しているデータが大きい場合は、それを参照する必要があります。たとえば、CouchDBは、ドキュメントが大きく、基本/選択済みのみを取得する場合に、ドキュメントの一部のみを返すことをサポートしていません(私が知る限り)。構造。一方、埋め込みは、参照されているドキュメントを検索する必要がないため、クエリ中に役立ちますが、これは実際には使用しているシステムによって異なります。

于 2011-08-12T09:00:35.830 に答える