標準出力

新しいもの、変わらないこと 自分の頭を通して考えてみました (stdout)

MongoDB を触ってみた

FreeBSD(9.0-RELEASE)での記事です。
この記事は、技評の記事を大いに参考にさせていただいています。

[0] インストール
cd /usr/ports
make quicksearch name=mongodb
で検索
cd /usr/ports/databases/mongodb

make configrecursive
make
make install
make clean
でインストールされたのは、下記のバージョン
db version: 2.2.0 pdfile version: 4.5

[1]データ配置用ディレクトリの作成 と サーバープロセスの生成

mkdir -p /var/db/mongodb
と自分はした、適宜
そして、インストール時に「mongodb」ユーザー/グループが作成されているので
chwon -R mongodb:mongodb /var/db/mongodb
としておく。

mongod --dbpath path-to-db
でサーバープロセスを生成する。path-to-dbの部分には、先程作成したディレクトリへのパスを指定する。
waiting for connections on port 27017
と表示されればおk

[2]使ってみる
mongo
がクライアントコマンド

データベースの作成。
use testdb
SQLならそんなデータベースないと叱られそうだがMongoDBの場合指定したDBがない場合は、作成してくれる。

次に「testcoll」コレクション(RDMSで言うところのテーブル Not SQLなのにこのような例えをするのはナンセンスな気もするが。。。)を作成してそのコレクションにドキュメント(RDMSのレコード的な)を挿入する

db.testcoll.insert("key1", "string",  "key2", 132)

JSONのハッシュ形式になっています。

ドキュメントの参照は、
db.testcoll.findOne()["key1"]