仕事ではphp-mongodb、または、javascript-mongodbでやっているので
慣れ親しんだperlでも接続しておいてみます
ってことで、MongoDBモジュールのインストールから
結構何度もyesか聞かれることになるので、自動yes選択を設定してからinstall MongoDBします
また、何度かやってみたんですが依存モジュール多すぎなのか依存エラーぽいの入れても入れてもエラーぽかったのでとりあえずforceでinstall
# perl -MCPAN -e shell cpan[1]> o conf prerequisites_policy follow cpan[2]> o conf commit cpan[3]> force install MongoDB
スクリプトでmongoにドキュメント追加、参照をやってみる
mongo_test.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use MongoDB; use Data::Dumper; my $connection = MongoDB::Connection->new( host => 'localhost', port => 27017 ); my $database = $connection->test_db; my $collection = $database->test_collection; my $id = $collection->insert({ hoge => 'i am hoge!'}); my $data = $collection->find_one({ _id => $id }); warn Dumper"$id\t$data->{hoge}\n"; exit 0;
結果
AUTOLOADed database method names are deprecated and will be removed in a future release. Use $client->get_database( 'test_db' ) instead. at mongo_test.pl line 9.
AUTOLOADed collection method names are deprecated and will be removed in a future release. Use $db->get_collection( 'test_collection' ) instead. at mongo_test.pl line 10.
$VAR1 = '5338631e19e607c072000000 i am hoge!
なんかつらつら文字が出てるけどとりあえずinsert&selectはうまくいったっぽい
mongoシェルのほうでも確認
# mongo > show dbs admin (empty) local 0.078125GB test 0.203125GB test_db 0.203125GB > use test_db switched to db test_db > show collections system.indexes test_collection > db.test_collection.find() { "_id" : ObjectId("5338631e19e607c072000000"), "hoge" : "i am hoge!" }
ってことで、使ってみる程度であれば簡単にできました!