ruby – 做任何mongodb ORM允许你使用别名字段吗?

我刚看了这个: 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和node.js标签就在那里,因为那些是我使用mongo的语言.随意添加标签.)

解决方法

使用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(虽然都是小项目)并且非常喜欢使用它.文档真的很棒,文档中也有关于性能的部分.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...