ソフトウェアの入手と配置
入手先
# 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 件のコメント:
コメントを投稿