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でチェックボックスで複数選択するとき〜check_box_tag

By: Luca Masters – CC BY 2.0 目次1 問題2 アンサー3 情報 問題 チェックボックスで複数選択可のフォームでうまくparamsにはいらない 例1 [crayo …

Rails5.1でフォームをウィザード化〜wicked

By: Doll Joints – CC BY 2.0 目次1 gem wicked2 ウィザード用のコントローラーを作成する3 ルーティングの設定4 既存のコントローラーのcreateメ …

Rails5でtextareaをコードエディタにする〜Ace Editor

By: Mike Mozart – CC BY 2.0 目次1 Ace Editor2 Gemfile3 application.js4 View5 coffeescript6 できた A …

no image

RubyでDocxを分解してみた~Nokogiri::XML::SAX

    参照 Rubyでdocxをいろいろ分析してみた 今度はsaxのアプローチでdocxのword/document.xmlを分解してみた 使い方は、Nokogiri::XML: …

Rails5.1でnpmライブラリを使おう〜webpacker

By: mrenner34 – CC BY 2.0 目次1 webpacker2 インストール3 コマンドライン4 hello webpacker5 yarn6 CoffeeScript7 …