【问题标题】:Displaying MongoDB results in chartkick using ruby on rails使用 ruby​​ on rails 在 chartkick 中显示 MongoDB 结果
【发布时间】:2014-05-30 18:15:04
【问题描述】:

我在 MongoDB 中使用 Ruby 的查询得到了这个输出:

irb(main):087:0>   data = col.find({}, :fields => ["result", "time"])
=> <Mongo::Cursor:0x14768b8 namespace='spark.light' @selector={} @cursor_id=>

irb(main):090:0> data.first
=> {"_id"=>BSON::ObjectId('537d961197c20960ad000001'), "result"=>2177, "time"=>2014-05-22 06:15:45 UTC}

现在我想将此数据提供给在 Ruby on Rails 上运行的 chartkick 以绘制折线图 .输入应如下所示:

"2014-05-22 06:15:45 UTC" => "2177"

有什么干净的方法可以做到这一点吗?

【问题讨论】:

    标签: ruby-on-rails ruby chartkick


    【解决方案1】:

    这会将记录转换为time =&gt; result 的哈希:

    Hash[data.map do |item|
      [item['time'], item['result']]
    end]
    
    # => { 2014-05-22 06:15:45 UTC => 2177, 2014-05-22 06:20:00 UTC => 1000 }
    

    【讨论】:

    • 谢谢!正是我需要的。
    【解决方案2】:

    使用Hash#values_atHash::[] 方法:

    Hash[data.first.values_at('time', 'result')]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-23
      • 2016-04-07
      • 1970-01-01
      相关资源
      最近更新 更多