Perl::mongoDBにPerlから接続してみた話
取り敢えずmongoDBをさわっておきたかったので
最低限のことやりましたメモ。
-- CentOS 5.7 (64bit)
-- mongoDB 1.6.4 (64bit)
-- MongoDB(Perl) 0.45
[参考]
MongoDBはじめてみました
ありがとうございます。ほぼそのまま実行しています。
インストールとか
$ curl http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.6.4.tgz > mongo.tgz
$ tar xzf mongo.tgz
$ mv -i mongodb-linux-x86_64-1.6.4 mongodb
$ sudo mv -i mongodb /usr/local/
$ ls -ld /usr/local/mongodb
取り敢えず扱いやすいように /usr/local/mongodb/bin/ にパスは通しました。
$ curl http://ewanleith.com/downloads/mongodb.txt
$ sudo mv -i mongodb.txt /etc/init.d/mongodb
$ sudo chmod +x /etc/init.d/mongodb
$ ls -la /etc/init.d/mongodb
こいつのパスはさっきの /usr/local/mongodb/ になっているので
よしなに環境合わせてください。
$ /etc/init.d/mongodb start
$ ps auxwww | grep mongo
$ netstat -ltunp
とかで 27017 と 28017 でLISTENしていればデーモン起動OK。
繋ぎに行きます。
$ /usr/local/mongodb/bin/mongo
MongoDB shell version: 1.6.4
connecting to: test
>
こんな感じでつながります。
> show dbs
admin
local
test
「show dbs = SHOW DATABASES」みたいな感じでが存在するデータベースが見れます。
データベースに入るのは use でいけます。
> use test
switched to db test
ということでmongoDBには繋がるので、適当にコレクションを追加するコード書きます。
コレクション=テーブルみたいな感じらしいです。
Perlでinsertしてfindしてみる
利用したモジュールはオフィシャルご指定のMongoDB使いました。
printが苦手なのでsay使ってます。すいません。
#!/usr/bin/env perluse strict;
use warnings;
use MongoDB;use 5.010;
my $con = MongoDB::Connection->new( host => 'localhost', port => '27017');
my $db = $con->test;
my $col = $db->coll;my $nameis = undef;
my $select = undef;my @name = qw(mike ken rock);
for $nameis (@name) {
$col->insert({ 'name' => $nameis });
$select = $col->find_one({ 'name' => $nameis });
say "My name is $select->{'name'}.";
}exit 0;
まさに初級レベルのコードでよく晒せるよな恥ずかしくないのねえ?
という感じですが、自分メモなので。
DB : test
Collection : coll <- さくせいしたコレクション