MongoDBを始める


映画『新少林寺/SHAOLIN』(2011)

傲慢な将軍、侯杰(こう・けつ)(アンディ・ラウ(劉徳華))が、家族を失ったことが切っ掛けで出家し、改心し人々を救います。改心前と後では、まったくの別人。すごく魅せてくれます。普段流れてくるニュースばかり見てると忘れてしまいそうな、罪を憎んで人を憎まずの心とか、人は皆平等であるとか、映画で訴えたいことが伝わってきて、とても気分が良くなりました。あと妻役のファン・ビンビン(范氷々)が異様にきれいな人です。「楊貴妃」(2005年のドラマ)に楊貴妃役で出ていたようです。楊貴妃は、世界三大美人の一人ですね。

今回は、僧侶の英語(Buddhist monk)から、MongoDBを連想したので、MongDBをかじってみます。非SQLのDBシステムです。
ではMongoDBをインストール。

apt-get install mongodb

これでデーモンも起動します。

次は、mongoシェルを起動します。mysqlのようなクライアント側のコマンドです。

takk@deb9:~$ mongo
MongoDB shell version: 3.2.11
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user
> 

DBを作成するには、useを使います。fortestという名前のDBにしました。DB切り替えも同じくuseを使います。

> use fortest
switched to db fortest

作るのも切り替えるのも同じってところが何とも不思議な気分ですが、覚えるコマンドが少なく済むので良いことかもしれません。

次は、ユーザを表示するコマンドと、ユーザ数を表示するコマンドです。まだ作ってないので、表示されないはずです。

> db.users.find()
> db.users.count()
0
> 

ではユーザを追加します。

> db.users.insert({username: "user-aaa"})
WriteResult({ "nInserted" : 1 })
> 

ユーザが追加されたか確認してみましょう。

> db.users.find()
{ "_id" : ObjectId("5a9b7346f6616d6fa6ab5c6a"), "username" : "user-aaa" }
> db.users.count()
1
> 

いつのまにかidが増えていますが、自動で追加されます。このIDは生成時に重複しない仕組みとなってます。

mongoシェルを抜けるコマンド。

> quit()
takk@deb9:~$ 

再度mongoシェルを起動します。
今度は、useの代わりに、mongodbコマンド実行時の引数にDB名を指定して起動します。

takk@deb9:~$ mongo fortest
MongoDB shell version: 3.2.11
connecting to: fortest
> db.users.find()
{ "_id" : ObjectId("5a9b7346f6616d6fa6ab5c6a"), "username" : "user-aaa" }
> 

mysqlコマンドより使いやすい気がします。
こうして一度使ってしまえば、新しいツールも怖くありません。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA