我刚看了这个:
http://blog.mongodb.org/post/38467892360/mongodb-schema-design-insights-and-tradeoffs-from
谈话中提出的一个建议是:在将多次复制的文档中,尽量使字段名称尽可能小:
Reduce collection size by always using short field names as a
convention. This will help you save memory over time.
在“publicationUrl”上选择“u”.如果你在谈论数百万行,那就没有意义了.但是,那里存在很大的可读性问题.可能很明显,该值是一个网址,但它是什么类型的网址?
这可能在ORM中可以解决.与MongoDb接口的任何ORM是否允许您说db中的’u’将映射到代码中的’publicationUrl’?当你在代码中有像a.u这样的东西时,可读性非常差; article.u并没有好多少.
解决方法
使用Ruby ORM
Mongoid很容易.以下是直接来自
docs的示例:
class Band include Mongoid::Document field :n,as: :name,type: String end band = Band.new(name: "Placebo") band.attributes #=> { "n" => "Placebo" } criteria = Band.where(name: "Placebo") criteria.selector #=> { "n" => "Placebo" }
我在很多项目中使用了Mongoid(虽然都是小项目)并且非常喜欢使用它.文档真的很棒,文档中也有关于性能的部分.