インデックスは闇雲に貼ればいいという物ではなく、既存のシステムにインデックスを作成するのであれば調査から行うのが定石ということで、まずはボトルネックの調査方法から紹介します。 撲滅スロークエリ スロークエリ # まずはMongoShellにログインします $ mongo # DBを選択します use sample # db.setProfilingLevel(level, slowms) # level:1 スロークエリのみ出力 # level:2 すべて # slowms 以下の例だと20ms以上かかっているクエリを出力する db.setProfilingLevel(1,20) # いくつかクエリを実行したあとに実行してみます # forEach(printjson) は見やすく整形するメソッド db.system.profile.find().forEach(printjson) sy
Using rails 3 and mongoDB with the mongoid adapter, how can I batch finds to the mongo DB? I need to grab all the records in a particular mongo DB collection and index them in solr (initial index of data for searching). The problem I'm having is that doing Model.all grabs all the records and stores them into memory. Then when I process over them and index in solr, my memory gets eaten up and the p
After much playing around in the console, I came up with this method to group activerecord-like (Mongoid) objects by the day on which they occured. I'm not sure this is the best way to accomplish this, but it works. Does anyone have a better suggestion, or is this a good way to do it? #events is an array of activerecord-like objects that include a time attribute events.map{ |event| # convert event
ObjectId型の_idを前方検索する $whereについて 検索条件の指定方法いろいろ Mongoidのセレクション以外での指定方法 aggregateでgroup_byする ■ ObjectId型の_idを前方検索する ▼サンプルデータ > db.members.find(); { "_id" : ObjectId("54daf7307da4107a3694f5af"), "name" : "hoge", "count" : 1, "status" : 1123, "created_at" : ISODate("2015-02-11T12:20:18.766Z"), "updated_at" : ISODate("2015-02-11T12:20:18.766Z"), "deleted_at" : 0 } MongoDBの_idはObjectId型になるので、 単純に「/^54d/」
I have model relationships like so: class User include Mongoid.Document has_many :favorite_shows end class FavoriteShow include Mongoid.Document belongs_to :user belongs_to :show end class Show include Mongoid.Document has_many :favorite_shows end FavoriteShow is a join table between users and shows with both the user_id and show_id as foreign keys. I keep getting the following error despite the f
I have see solutions to this sort of issue with 1:N, but they dont seem to read across to 1:1, this is using MongoDB 1.8, Mongoid 2.0.0.rc.8, Rails 3.0.5 class Coach include Mongoid::Document field :name, :type => String belongs_to :coached, :class_name => Team, :inverse_of => :coach, :foreign_key => "coach_id" belongs_to :assisted, :class_name => Team, :inverse_of => :assist, :foreign_key => "ass
概要 画像を生成するライブラリはいくつかありますが、調べた中で一番簡単に実装できた方法を紹介します。 前提として無料でサービスを公開できることを目指した結果、PaasはHeroku、画像はHerokuのMongoDB(最大50MB)にBinaryデータとして画像を保存することにしました。 他に候補としてAmazonS3などがありますが、アクセス数(転送データ量)に応じて従量課金されるので外しました。本格的にサービスを作るならS3やレンタルサーバなどを借りた方がいいかと思います。 構成 Ruby2.1.1 Rails4.0.4 MongoDB Railsの実装 railsの基本的なアプリの作り方は省きます。Mongoidを使う上での注意点として、rails newするときにActiveRecordを含めないよう、-Oオプションを指定します。 Mongoid Gemfileに以下を追加します。
Mongoid は、データベースのドキュメントの問い合わせに、2種類のスタイルをサポートします。最初のスタイルは、ActiveRecord風の、ファインダー/動的なファインダーの構文です。2つ目のスタイルは、Mongoid の Criteria API を使った推奨メソッドです。(訳注: 2つ目は Rails 3 の Arel 風です。) ファインダー ファインダーはドキュメントのクラスメソッドです。データベースのオブジェクトを探索するのに、条件のハッシュか文字列を受け付けます。Document.all、Document.count、Document.find、Document.first、Document.last、Document.paginate があります。これらに加えて、アトリビュートが一致しない場合に、作成・初期化する、ファインダー兼作成構文があります。 与えられた条件に合う全
mongoHQのプランアップデートの際にバックアップとインポートを使うことになったので、少しまとめる。 mongodumpとmongorestoreを使ったので表現があれかもしれないですが、初心者のあれでだれかつこんでください。 https://devcenter.heroku.com/articles/mongohq てかmongoHQのプランアップデートはまってたけど。よく読むと最後に Upgrading your Database ってあるし。。 流れとしては、ここの通り。 $ heroku maintenance:on (off) やるときは、これでdbに変更がないようにmaintenanceモードにしといたほうがいいねってかいてある。んでまず $heroku config MONGOHQ_URL: mongodb:// <username>:<password>@<host>:<
heroku,railsでmongoHQのアドオンを使って、アプリを作っていたのだけど、突然dbにデータが入らなくなって、 あれ?!って思って調べたところFreePlanの容量がいっぱいになったっぽい。db削除したら入るようになったし。 そこでここhttps://addons.heroku.com/mongohqから、アップグレードしようとしたところ You must confirm billing before installing this add-on エラーでた。できない。さらに、my acountのBilling Info でsubmit押してもなぜかクレジットが登録されない。 そこで、herokuに問い合わせる。https://help.heroku.com/tickets Hi,I made a small change on our end that should help
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く