2011年10月24日月曜日

Scientific Linux 6.1 + MongoDB 2.0.1


このエントリーをはてなブックマークに追加


流行のMongoDBをScientific Linux 6.1 へ導入


ソフトウェアの入手と配置

入手先

# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.1.tgz
# tar zxvf mongodb-linux-x86_64-2.0.1.tgz
# mv mongodb-linux-x86_64-2.0.1 /opt/mongodb



データファイルの保存場所を作成

# mkdir /opt/mongodb/database



起動テスト

# /opt/mongodb/bin/mongod --dbpath /opt/mongodb/database --fork --logpath /var/log/mongodb.log --logappend

--dbpath : データファイルの置き場を指定
--fork : daemonとして起動する
--logpath : ログファイルを指定
--logappend : ログを追記形式



起動確認

# ps -ef |grep mongo
root     31351  1897  2 22:36 pts/0    00:00:03 /opt/mongodb/bin/mongod --dbpath /opt/mongodb/database --fork --logpath /var/log/mongodb.log --logappend

# netstat -ltun |grep 27017
tcp     0      0 0.0.0.0:27017      0.0.0.0:*      LISTEN
デフォルトはポート27017で全I/Fで待ち受ける。指定する場合は起動時に、

--port
--bind_ip

を指定する。



接続してテスト

# /opt/mongodb/bin/mongo
MongoDB shell version: 2.0.1
connecting to: test


データの投入。testdb1というのがDB名で存在しなければ自動的に作成される。
> db.testdb1.save({"name":"testname1","phone":[123, 456, 789]});

データの表記にはJSON形式を使う。


データの取得はfind()を使う。
> db.testdb1.find();
{ "_id" : ObjectId("4ea5725dc5b43500935135b8"), "name" : "testname1", "phone" : [ 123, 456, 789 ] }

さらにデータを投入
> db.testdb1.save({"name":"testname2","phone":[000, 111, 222]});
> db.testdb1.save({"name":"testname1","phone":[123, 456, 789]});
> db.testdb1.find();
{ "_id" : ObjectId("4ea5725dc5b43500935135b8"), "name" : "testname1", "phone" : [ 123, 456, 789 ] }
{ "_id" : ObjectId("4ea5727dc5b43500935135b9"), "name" : "testname2", "phone" : [ 0, 111, 222 ] }
{ "_id" : ObjectId("4ea57285c5b43500935135ba"), "name" : "testname1", "phone" : [ 123, 456, 789 ] }

キー&バリューを指定してデータを取得
> db.testdb1.find({"name":"testname2"});
{ "_id" : ObjectId("4ea5727dc5b43500935135b9"), "name" : "testname2", "phone" : [ 0, 111, 222 ] }

データの削除。remove()を使用
> db.testdb1.remove({"name":"testname1"});
> db.testdb1.find();
{ "_id" : ObjectId("4ea5727dc5b43500935135b9"), "name" : "testname2", "phone" : [ 0, 111, 222 ] }

データベースの終了
> use admin
> db.shutdownServer()

or

# /opt/mongodb/bin/mongod --shutdown --dbpath /opt/mongodb/database

0 件のコメント:

コメントを投稿