給出一個簡單的例子如下,我想要一些關於是否存儲爲單個文檔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;
}
我應該用單文檔方法嗎?在這種情況下,我會爲每個組織存儲一個巨大的文檔,其中將包含嵌入式用戶,而嵌入式用戶又包含嵌入式帖子?