给出一个简单的例子如下,我想要一些关于是否存储为单个文档vs多个文档的指导。RavenDB建模 - 单个文档还是多个文档?
class User
{
public string Id;
public string UserName;
public List<Post> Posts;
}
class Post
{
public string Id;
public string Content;
}
一旦数据被存储,有时我会希望给定用户的所有帖子。有时候我可能想要满足特定条件的多个用户的帖子。
我应该将每个用户存储为文档(嵌入了帖子)吗?还是将用户和帖子存储为单独文档更有意义,并且在我的帖子中有某种标识将其链接回用户?
现在,如果每个用户属于某个组织(在我的应用程序中将有数百个组织),该怎么办?
class Organization
{
public string Id;
public List<User> users;
}
我应该用单文档方法吗?在这种情况下,我会为每个组织存储一个巨大的文档,其中将包含嵌入式用户,而嵌入式用户又包含嵌入式帖子?