私は初めてRavendbを試し、トレーニングアプリのモデルを構築しようとしています。これは私がどのように配置するかわからないクラスの簡単な例です。
User{
string:Name
string:Email
//+ 20 or so more properties
}
CalendarEntry{
DateTime:TimeStamp
decimal:Weight
decimal:Waist
List<Meal> Meals
List<WorkoutSession> WorkoutSessions
//+ more properties
}
メンバーは、体重、ウエスト、毎日のエクササイズセッション、カロリーによる食物摂取などでトレーニングカレンダーを更新します。したがって、カレンダーエントリのリストは毎日増えていきます。
したがって、問題は、ユーザーオブジェクトにカレンダーエントリのリストを含める必要があるのか、それともユーザーへの参照IDを持つ独自のエンティティコレクションとして使用するのかということです。
私の主な関心事は、Ravendbの最大ドキュメントサイズ(1つありますか?)です。これは、リストが毎日大きくなり、カレンダーエントリがネストされたコレクションである場合、ユーザードキュメントが1年ほどで重くなりすぎる可能性があるためです。
アドバイスをいただければ幸いです
//キム