获取带符号的哈希作为rails中mongo的键

时间:2011-02-25 22:32:41

标签: ruby-on-rails ruby mongodb

Mongo ruby​​驱动程序似乎将结果放入一个以字符串为键的哈希。有没有办法告诉它将键转换成符号呢?

2 个答案:

答案 0 :(得分:6)

根据FAQ,尽管Mongo中存在符号类型,并且您可以在符号中存储符号,但BSON格式指定键必须是字符串。

答案 1 :(得分:4)

如果您有一个以字符串为键的Hash,并且您希望能够使用Symbol作为访问其值的键,则可以使用HashWithIndifferentAccess。如果您不使用Rails,可以通过ActiveSupport gem。

获取此课程
my_hash = { 'name' => 'Joe', 'email' => 'joe@schmoe.com' }
my_hash = HashWithIndifferentAccess.new my_hash
puts my_hash[:name] # "Joe"