mongodbをインストールして、phpでアクセス
mongodbをインストールして、phpでアクセス
インストール参考
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux/
※あまり参考にならないけど
Linuxへmongodbをインストール
/etc/yum.repos.d/10gen.repoを作成
[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1
「yum update」でインストール
[root@localhost ~]# yum update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp 10gen | 951 B 00:00 10gen/primary | 11 kB 00:00 10gen 96/96 Setting up Update Process No Packages marked for Update [root@localhost ~]#
「yum install mongo-10gen mongo-10gen-server」でインストール
[root@localhost ~]# yum install mongo-10gen mongo-10gen-server Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package mongo-10gen.x86_64 0:2.4.6-mongodb_1 will be installed ---> Package mongo-10gen-server.x86_64 0:2.4.6-mongodb_1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================= Package Arch Version Repository Size ================================================================================================================= Installing: mongo-10gen x86_64 2.4.6-mongodb_1 10gen 72 M mongo-10gen-server x86_64 2.4.6-mongodb_1 10gen 12 M Transaction Summary ================================================================================================================= Install 2 Package(s) Total download size: 84 M Installed size: 214 M Is this ok [y/N]: y Downloading Packages: (1/2): mongo-10gen-2.4.6-mongodb_1.x86_64.rpm | 72 MB 06:12 (2/2): mongo-10gen-server-2.4.6-mongodb_1.x86_64.rpm | 12 MB 00:05 ----------------------------------------------------------------------------------------------------------------- Total 226 kB/s | 84 MB 06:19 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : mongo-10gen-2.4.6-mongodb_1.x86_64 1/2 Installing : mongo-10gen-server-2.4.6-mongodb_1.x86_64 2/2 Verifying : mongo-10gen-2.4.6-mongodb_1.x86_64 1/2 Verifying : mongo-10gen-server-2.4.6-mongodb_1.x86_64 2/2 Installed: mongo-10gen.x86_64 0:2.4.6-mongodb_1 mongo-10gen-server.x86_64 0:2.4.6-mongodb_1 Complete! [root@localhost ~]#
サービスの起動を行う
[root@localhost ~]# service mongod start Starting mongod: about to fork child process, waiting until server is ready for connections. forked process: 2387 all output going to: /var/log/mongo/mongod.log child process started successfully, parent exiting [ OK ] [root@localhost ~]# [root@localhost ~]# chkconfig mongod on [root@localhost ~]# chkconfig --list mongod mongod 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@localhost ~]# [root@localhost ~]# mongo --version MongoDB shell version: 2.4.6 [root@localhost ~]# mongo MongoDB shell version: 2.4.6 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 > exit bye [root@localhost ~]#
PHPのmongoモジュールをインストール
「pecl install mongo」でインストール
Build process completed successfully Installing '/usr/local/php/lib/php/extensions/no-debug-zts-20121212/mongo.so' install ok: channel://pecl.php.net/mongo-1.4.3 configuration option "php_ini" is not set to php.ini location You should add "extension=mongo.so" to php.ini
php.iniへextentionを追加
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20121212/mongo.so
再起動してphpinfoで確認
サンプルデータを用意
[root@localhost mongo_sample]# mongo MongoDB shell version: 2.4.6 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 > use sample1; switched to db sample1 > db.test1.insert({aaa: "111"}); > db.test1.insert({aaa: "222"}); > > db.test1.find(); { "_id" : ObjectId("5234a1c7d29a95c7cd5b11fd"), "aaa" : "111" } { "_id" : ObjectId("5234a1cbd29a95c7cd5b11fe"), "aaa" : "222" } > > exit bye [root@localhost mongo_sample]#
phpのファイル
example.php
<?php // DBへ接続 $mongo = new Mongo(); // データベースを指定 $db = $mongo->selectDB("sample1"); // コレクションを指定1 $col = $db->selectCollection("test1"); // コレクションのドキュメントを全件取得 $cursor = $col->find(); // 表示 foreach ($cursor as $id =>$obj) { var_dump($obj); }
実行結果
[root@localhost mongo_sample]# php -f example.php array(2) { ["_id"]=> object(MongoId)#7 (1) { ["$id"]=> string(24) "5234a1c7d29a95c7cd5b11fd" } ["aaa"]=> string(3) "111" } array(2) { ["_id"]=> object(MongoId)#8 (1) { ["$id"]=> string(24) "5234a1cbd29a95c7cd5b11fe" } ["aaa"]=> string(3) "222" } [root@localhost mongo_sample]#
- 作者: 栗林健太郎,柴田博志,はまちや2,常松伸哉,黒田良,川添貴生,安宅啓,松下雅和,桑野章弘,Jxck,伊藤直也,佐藤鉄平,登尾徳誠,中川勝樹,奥野幹也,近藤宇智朗,堀江幸紀,後藤秀宣,渡邊恵太,中島聡,A-Listers,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2013/06/22
- メディア: 大型本
- この商品を含むブログ (8件) を見る
NOSQLの基礎知識 (ビッグデータを活かすデータベース技術)
- 作者: 本橋信也,河野達也,鶴見利章,太田洋
- 出版社/メーカー: リックテレコム
- 発売日: 2012/04/25
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 81回
- この商品を含むブログ (4件) を見る