在MongoDB文档中为每个属性添加旁注

时间:2014-08-02 13:28:51

标签: c# mongodb

我有一个包含文档集合的集合。每个文档都有大约20种不同的属性,具有不同的数据类型(例如Int,Double,String)。

我正在寻找一种有效的方式或适当的方法来为每个房产添加旁注。

我的想法(我使用C#来建模文档结构)是针对每个属性而不是 :

public int PageRank {get; set; }

使用:

public Dictionary<int, string> PageRank {get; set;}

这意味着文档中的每个项目都是旁注的值和字符串的集合。

用户会在前端看到旁注。

有没有更好的实施?

1 个答案:

答案 0 :(得分:1)

Idan,出于性能原因,您应该从MongoDB的角度考虑您的用例 - 而不是从面向对象语言的角度来看。它最终看待C#的方式是事后的想法 - 它的数据库性能非常重要。因此,在查询文档时,如果通常不需要附注,最好将它们放入单独的集合中(可能),从而减小每个文档的大小,并使MongoDB能够将更多内容读入可用内存。如果用户确实需要查看旁注,则可以使用单独的查询来执行此操作。您更了解您的使用场景,因此您需要决定如何执行此操作,但是您需要关注的这些类型的设计决策 - 以及C#代码将根据您的架构进行整形