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
-, ,

執筆者:

関連記事

Rails3.2でFacebook風インターフェイスでタグづけ〜acts-as-taggable-on+jquery.tokenInput

By: Mauquoy Token Company – CC BY 2.0 railscasts.com/episodes/258-token-fields?language=ja&#03

no image

Mongoidのandとorで悩み中

and

or

  orの方はハッシュで[crayon-5a …

Rails3.2でコードのお作法を指摘してもらう~Rails Best Practices

コードのお作法を自動でチェックしてくれるrails_best_practiceを導入した

あとは、Railsのルートで[crayon- …

Rails3.2とBackbone.jsでサーバーサイドのページネーション

By: Haldane Martin – CC BY 2.0   前提 Rails3.2とBackbone.jsでサーバーサイドのフィルタリング Rails3.2とBackbon …

RailsでECサイト構築~spree

  *インストール方法を書き換えました.前の方法だとアドミンユーザーが登録されませんでした. 今回はインストール+日本語化だけ 目次1 インストール2 日本語化 インストール gem [cr …