mongodb

MongoDBが起動しなくなったときの対処法(公式Ubuntuパッケージの場合)

なんかさくらのVPSが勝手にリスタートしたみたいで、MongoDBが起動しなくなった。モッピー知ってるよ、--repair コマンド使えばいいんだよね。 $ sudo mongod --dbpath=/var/lib/mongodb --repair あれれー?mongodb.lock ファイル消えないし、起動できない…

Rails3 対応 MongoDB ORM、Mongoid 詳解―アップグレード

Mongoid のバージョンをアップグレードする時のリファレンスとしてご利用下さい。 2.0.0.BETA.16 + へのアップグレード このバージョンは、MongoDB 1.6.0 を必要とします。 2.0.0.BETA.15 + へのアップグレード もし JSON のシリアライズに include_root_in_…

Rails3 対応 MongoDB ORM、Mongoid 詳解―エクステンション

FABRICATION Paul Eliott さんの Fabrication Gem は、オブジェクト生成ライブラリです。Mongoid を最初からサポートしており、テストの簡便のために、オブジェクトを生成する素敵な構文を提供しています。 Fabricator(:person) do title "Grand Poobah" add…

Rails3 対応 MongoDB ORM、Mongoid 詳解―インテグレーション

CARRIERWAVE ファイルアップロードを扱う Carrierwave は Mongoid をサポートしています。現在のところ、ファイルと S3 に格納することを指定できます。:mount_on オプションがアップローダークラスに定義されてない場合は、ファイル名が アップローダー名_f…

Rails3 対応 MongoDB ORM、Mongoid 詳解―Rakeタスク

Mongoid は Rails 3 環境で以下の Rake タスクを提供します。 db:create 依存関係のために存在します。実際には何もしません。 db:create_indexes モデルから全てのインデックス定義を読み取り、データベースにそれらを作成します。 db:drop システム用コレ…

Rails3 対応 MongoDB ORM、Mongoid 詳解―その他

Mongoid にはアプリケーションで使える、いくつかの役に立つ機能があります。 マスター/スレイブ サポート mongoid.yml でスレイブデータベースを設定しているなら、スレイブを有効化した読み取りクエリを、ラウンドロビンでスレイブデータベースを参照しま…

Rails3 対応 MongoDB ORM、Mongoid 詳解―インデックス

index マクロを使うことにより、ドキュメントにインデックスを定義することができます。:unique オプションをつけると、ユニークなインデックスを構築できます。オプションは必須ではありません。 class Person include Mongoid::Document field :ssn index …

Rails3 対応 MongoDB ORM、Mongoid 詳解―継承

Mongoid はドキュメントとエンベッドされたドキュメントの継承をサポートしています。以下のドメインモデルを考えてみます。 class Canvas include Mongoid::Document field :name embeds_many :shapes def render shapes.each { |shape| shape.render } end…

Rails3 対応 MongoDB ORM、Mongoid 詳解―バリデーション

Mongoid は、基本的なバリデーションを提供するために ActiveModel::Validations を含んでおり、さらに関連と一意性バリデーションに手を加えています。さらに詳しい情報は、ActiveModel::Validations のドキュメントを参照してください。 全てのバリデーシ…

Rails3 対応 MongoDB ORM、Mongoid 詳解―コールバック

Mongoid は以下のコールバックをサポートしています: before_create before_destroy before_save before_update before_validation after_create after_initialize after_destroy after_save after_update after_validation コールバックは、他のドキュメン…

Rails3 対応 MongoDB ORM、Mongoid 詳解―クエリ

Mongoid は、データベースのドキュメントの問い合わせに、2種類のスタイルをサポートします。最初のスタイルは、ActiveRecord風の、ファインダー/動的なファインダーの構文です。2つ目のスタイルは、Mongoid の Criteria API を使った推奨メソッドです。(…

Rails3 対応 MongoDB ORM、Mongoid 詳解―永続化

今回は、データベースへの Insert、Update、Delete です。 Mongoid は ActiveRecord スタイルのデータベースへの永続化メソッドをサポートしています。永続化戦略の項は、実際に実行されるデータベースクエリについて、注意して見てください。 作成 新しいド…

Rails3 対応 MongoDB ORM、Mongoid 詳解―関連

Mongoid::Document は、embeds_one, embeds_many, embedded_in といった、ActiveRecord スタイルの3つのマクロを通して、他のドキュメントに対して関連を設定することができます。関連を設定すると、1つのドキュメントが他のすべてのドキュメントのルートに…

Rails3 対応 MongoDB ORM、Mongoid 詳解―ドキュメント

インストールに引き続き、ドキュメントを解説します。 ドキュメントは Mongoid のコアオブジェクトであり、データベースに永続化したい全てのオブジェクトは、Mongoid::Document をインクルードしてください。MongoDB でのドキュメントは、BSON オブジェクト…

Rails3 対応 MongoDB ORM、Mongoid 詳解―インストール

まずは、インストールの解説です。 $ gem install mongoid --pre Rails3 対応の最新版は執筆時点で 2.0.0.beta.16 で、ベータ版なので、--pre オプションを使ってインストールします。2.0.0 リリースの際には、--pre を取って下さい。そして、mongo ドライバ…

Rails3 対応 MongoDB ORM、Mongoid 詳解―前説

つい先日 1.6.0 がリリースされ、MongoDB の時代がいよいよキタ!って感じです。MongoDB 自体のインストール・操作などは下記の記事を参考にしてください。 Mac OS X で MongoDB を動かす ハンズオンで分かる MongoDB チュートリアル この記事では、Rails3 …

ハンズオンで分かる MongoDB チュートリアル

前回(と言ってももう2ヶ月前か……1.5.8まででちゃってますね。(追記:丁度今日、1.6.0 安定版がリリースされました!)例によってビルドはクソ長いので注意して下さい)、「Mac OS X で MongoDB を動かす」で、Mac OS X での MongoDB インストール、起動、…

Mac OS X で MongoDB を動かす

MongoDB は、いわゆる NoSQL データベースの一つです。 公式サイトの文言をそのまま信じるなら、 ドキュメント指向ストレージで インデックスをサポートしていて レプリケーションができて高可用性に富んでいて 自動データ分割してくれて 多彩な検索クエリが…