mongodb

MongoDB 深くネストしてしまった要素を検索する

データのネストを深くしてしまった!! 何でもMongoDB様は入れることができるので、 調子に乗ってあれよこれよとデータをくっつけていたら思いのほか配列の配列になってしまって、 どうやって取るんだこれみたいな感じになってしまいました。 こんな感じ、 { "_id" : ObjectId("53a8590e2d8a3d0169bcf5b8"), "MongoID" : "xxxxxxxxxxxxxx […]

[MongoDB] 既存データに追加する形でUpdate

$setを利用してUpdateを行う mongodbではそのままupdateを行うと、デフォルトの動作ではupdateを行ったデータで置き換える処理を行います。これを防ぐために$setを利用する方法があります。 $setを利用すると既存のデータをそのままにして、UPDATE対象になる要素を追加した状態でデータの更新を行うことができます。データとコマンドを追っかけながら行ったほうが早いと思うので。

Go言語でMongoDBを操作する

Go言語からMongoを操作する前に GoからMongoDBを操作する方法です。bazaarというバージョン管理ソフトを使ってライブラリを入れる必要があるのでインストールと、Go言語自体のライブラリを格納するGOPATHが設定されている必要があります。適当にググって設定しておいてください。 ubuntu $ sudo apt-get install bzr mac (ports) $ sudo p […]

PHPでMongoDB レプリカセットにアクセスする

MongoDBのレプリカセットでいままでどうしても気になっていたことがありまして、 レプリカセットのマスタ・スレーブで障害が起こってマスタが入れ替わったとき。 PHPのアプリ側でどうやって判断したらよいのか悩ましく思っていました。 よくよくPHPのマニュアルをみたらちゃんと複数のサーバを記述する方法があるのですね。 http://php.net/manual/ja/mongo.connecting […]

MongoDBでレプリカセット試してみた。

mongodb レプリカセットとは MongoDB JPより レプリカセットとは MongoDBはレプリカセットと呼ばれる冗長構成(クラスタ)を組むことができます。 レプリカセットには唯一のプライマリノード(PRIMARY)とセカンダリノード(SECONDARY)複数を含める事ができ、クラスタに対する書き込みは全てPRIMARYに対して行われます。 PRIMARYに対する更新は速やかに全てのSEC […]

ubuntu12.10へMongoDBのインストール

今回はubuntuにmongoDBをインストールしていきます。 ubuntu12だとディストリビューションに用意されているようで、 apt-getを利用してさっくりとインストール出来ました。 インストール $ sudo apt-get install mongodb ばらばらと文字が流れて、 あっさりとインストールは終了しました。 起動テスト コマンドラインから起動テスト $ mongo Mong […]

MongoDBの基本操作メモ

MongoDBの基本操作(コレクション作成, インサート, アップデート, デリート)のメモ。 起動から基本操作 コマンドラインからMongoクライアントツールを起動 > mongo データベース一覧表示 > show dbs; データベース選択 特にDBを作成する指示がなくてもDBを変更できて、保存した時に作成してくれる。 > use hogedb; コレクション操作 ややこし […]

php-mongodb-adminでMongoDBを操作する

phpmongodbadminを入れてGUIでMongoDBを手軽に操作できるようにする。 ファイルがひとつだけなのでphpが動作するサーバにおいてやればすぐ使うことが可能でした。 php-mongodb-adminを入手 https://github.com/jwage/php-mongodb-admin 設置 mongodbが動作しているサーバにファイル設置 & ブラウザ経由でアクセ […]