gpt4 book ai didi

c# - RavenDB 建模日历应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:41 26 4
gpt4 key购买 nike

我是第一次尝试 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 中的最大文档大小(有吗?),因为列表每天都在增长,而且如果日历条目是嵌套集合,用户文档在一年左右后可能会变得太重.

如有任何建议,我们将不胜感激

//金

最佳答案

我不知道 Raven 中有任何文档大小限制,但你的第二种方法听起来更好......日历条目对象本身看起来相当大,因此它最终可能会进一步损害性能如果每个用户的日历条目集合变大。

但您真正需要问的问题是数据将如何被消费?您是否可能想要查询数据库中的所有日历条目,而不考虑用户?或者在给定的时间段内?如果答案是肯定的,那么您最好将日历条目存储在它们自己的集合中,从而允许您为它们优化索引。

在 raven 中管理文档之间的“外键”变得相当容易,所以这应该不会太难完成。此页面详细说明了您如何处理文档关系:http://ravendb.net/docs/client-api/querying/handling-document-relationships

关于c# - RavenDB 建模日历应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com