0
在RavenDb中,我必須存儲分層數據,我需要遞歸查詢它。表現是這裏最大的擔憂。在RavenDb中建模分層數據
我有類似以下之一:
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public Category Parent { get; set; }
}
在這種情況下,如果我存儲在文檔本身內部的父類,它將對我來說很難管理,因爲我會複製數據分類遍佈各地。
因此,爲了那麼容易,我可以按照以下存儲這樣的:
public class Category
{
public int Id { get; set; }
public int? ParentId { get; set; }
public string Name { get; set; }
}
但在這種情況下,我不知道性能怎麼會在這裏,我將有幾百萬的記錄,我需要從此引用創建類別樹。
RavenDb在性能是最大的擔憂時如何建模這種類型的數據是否存在某種決定?
謝謝!這真的有幫助。在這種情況下,我會在多個地方複製一個類別(可能有1000次,誰知道)。那麼,在RavenDb中,有沒有辦法在多個地方更新類別信息呢?或者我應該逐一找到它們並單獨更新它們?我在這裏查看批量更新(http://ravendb.net/docs/2.0/client-api/set-based-operations),但不確定這是否是我需要的。 – tugberk
我不關注 - 爲什麼您需要一次更新多個類別的事件?在我所建議的內容中,只有一個類別作爲文檔出現,層次結構樹只是使用類別ID來定義誰是其父母 - 可能有多個。 – synhershko
我認爲這是一個問題,無可否認,這可能只是我對這種風格的「新鮮感」,給予了特定類別的ID,我怎樣才能得到它的所有孩子?這不會讓您查詢層次結構以獲取這些兒童的ID,除非您知道該路徑一直回到根目錄,並且這也不容易讓您獲得這些父母。這不僅僅是交換一個穿越方向對另一個方向的優先級 - 向下還是向上? – MarqueIV