具有Mongoid和Rails的字段别名

Ton*_*ony 7 ruby-on-rails mongodb mongoid

MongoDB中的常见做法是使用短密钥名称来节省空间.例如,有人可能想使用"fn"而不是"first_name"

但是在你的应用程序中,如果你在整个地方使用"fn",你就会被搞砸了.太难看了.特别是对于Rails,在Mongoid中声明字段时是否有一种简单的方法来指定别名?

另外,有没有人知道任何使用Mongoid的开源示例项目?

谢谢!

z3c*_*cko 12

你应该考虑使用

 field :fn, :as => :firstname
Run Code Online (Sandbox Code Playgroud)

如下所述:http: //groups.google.com/group/mongoid/browse_thread/thread/ce3298d6a167bd70

这是一个非常好的做法,完全支持mongoid.


Dav*_*pin 5

我从来没有在任何 MongoDB 项目中看到过短键名,所以我不会说这是常见的做法。我认为您不会看到明显的速度提升,而且它会不必要地使您的代码复杂化。描述性名称很好,只要它们不是描述性的,以至于您需要永远打字。

有很多 MongoDB 开源项目。只需在github上搜索即可。

——在下方编辑——

这是一个相当固执的答案。覆盖其他答案中描述的处理方法(https://github.com/mongoid/mongoid/blob/master/lib/mongoid/attributes/processing.rb)在您必须具有小字段名称的情况下更合适。

  • 不是速度问题,是空间问题。将“first_name”和“fn”存储十亿次(~10GB 与~2GB)之间存在很大差异。如果您在商用硬件上运行,空间很便宜,但如果您在服务器级硬件上运行,空间就很昂贵。参见:http://blog.boxedice.com/2010/10/23/on-shortened-field-names-in-mongodb/ (5认同)