It\'s common practice in MongoDB to use short key names to save space. For example, one might want to use \"fn\" instead of \"first_name\"
However in your app, you\
I've never seen short key names in any MongoDB projects, so I wouldn't say it's common practice. I don't think you'd see a noticeable speed improvement and it would complicate your code unnecessarily. Descriptive names are good so long they aren't so descriptive that it takes you forever to type.
There's lots of MongoDB open-source projects. Just do a search on github.
-- edit below --
This was a pretty opinionated answer. Overwriting the processing methods (https://github.com/mongoid/mongoid/blob/master/lib/mongoid/attributes/processing.rb) as described in other answers is more appropriate in the scenario where you MUST have small field names.
you should consider using
field :fn, :as => :firstname
as outlined here: http://groups.google.com/group/mongoid/browse_thread/thread/ce3298d6a167bd70
this is a very good practice which is fully supported in mongoid.
Something like this should work in your class file. (It hasn't been tested in all cases, just passing a hash into create or update.)
field :fn, :type => String
alias :first_name :fn
alias :filtered_process :process
def process(attrs = nil)
attrs[:fn] = attrs[:first_name] unless attrs.nil?
filtered_process(attrs)
end