Railsで使えるGem

MongoidでMapReduceに挑戦中

投稿日:

MongoDBの薄い本の素材をMongoidでやろうとしたけど途中経過

MapReduceをやることの利点は、並列処理ができるということとSQLより柔軟な処理なできるということらしい(MongoDBにはまだ並列処理の機能はない)

 

Model

seed.db(test data)

rails cで以下を貼り付けるとlogstatというコレクションに集計データが挿入される

 

・・・しまった randの値を大きく取りすぎて集計の意味が無い!

 

今までのハマリポイント

  • map_reduceに渡すjavascriptのstringはすぐ実行する形で(無名関数でOK)。最初薄い本から直接コピペしてvar map = function(){….で渡していたら、うんともすんとも言わずログにも何も出ずで悩んだ。当たり前
  • out(replace: “logstat”)とかのシンボル:replaceとかがミススペルでもなぜかエラーがでなかった
  • まだなぜかRailsアプリからの実行がうまくいかない。。。情報が少なすぎるorz

 

酸っぱいブドウ

RailsからMongoDBを使う大きな利点のひとつはMongoDBがスキーマレスなのでRDBMSの制約を気にせずにRubyのレイヤーだけで柔軟に制約を書けることだという気がする

すると、Railsの場合は集計などの操作もrubyでやればいいので、ことさらに不細工なstringでjavascriptを突っ込んでまでやる必要はあまりないんじゃないだろうか

-Railsで使えるGem
-, ,

執筆者:

関連記事

RailsでECサイト構築4 確認メールを送る~spree

  spreeでは注文したときと発送したときにメールを送信できるように設定できるので、やってみた   目次1 設定2 翻訳 設定 管理画面から設定>メールシステムの設定から これで …

backbone-railsのscaffoldで生成されるコードでルーティングとCRUDの処理をどうやってるのか読んでみた

By: asobi tsuchiya   目次1 はじめに2 サンプルの準備3 初期化4 ルーター5 READ6 CREATE7 UPDATE8 DELETE はじめに backbone-r …

Rails3.2でTwitterBootstrap導入のあれこれ

  目次1 sass-rails-bootstrap導入2 Layout関係3 Notification4 confirmをmodalにする5 SimpleForm導入6 kaminari導 …

Rubyでd3.jsのapiリファレンスの一覧を取得してくる~mechanize

  d3.jsにはlayoutというおおまかに準備されたレイアウトがあって、その中にあるTreeレイアウトを試してみることにした d3.js自身のapiリファレンスが階層構造になっているので …

no image

Rails3.2+MongoDBでつくったアプリをheroku+mongoHQにアップしたよ

Stack Overflowはなんでも答えてくれる エラーメッセージをコピーしてググればたいていの答えはStack Overflowで出尽くしている 目次1 Gemfile2 herokuにアプリ作成 …