Azure的DocumentDB是NoSQL型別的資料庫。它還可以和目前流行的mongodb相容,採用mongodb的driver可以直接連線Azure的DucumentDB。
目前在國內的Azure上,DocumentDB已經正式商用了,相容mongodb的版本目前還在preview階段。
本文將介紹如何建立,並通過php的mongodb的driver連線documentDB。
一 在Azure的管理介面上建立DocumentDB:
1 點選portal左上角的"+"號,然後輸入documentdb,回車:
2 選擇DucumentDB-Protocol Support for MongoDB (preview):
中間出現需要accept preview的選項,按接受。
3 點選Create後出現如下對話方塊,按所需內容進行填寫:
4 幾分鐘後可以看到建立的DocumentDB已經上線:
5 建立db和collection:
點選建立的DocumentDB,在Overview中選擇add database:
輸入database的名字:
建立成功後,點選這個database:
進入到Database後,點選add collection:
在出現的對話方塊中輸入:
可以根據自己的需要,選擇相應performance的服務。
幾秒鐘,collection就建立好了。
6 記錄連結字串,在DocumentDB的中有一個選項叫Connection String,點選,並複製connection string:
二 在CentOS上安裝php mongo driver
1 建立epel和mongo的repo
在/etc/yum.repos.d下,增加兩個檔案:
Epel.repo [epel] name=epel baseurl=http://mirrors.sohu.com/fedora-epel/6/$basearch enabled=1 gpgcheck=0
mongo.repo [mongodb-org-2.6] name=MongoDB 2.6 Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1
2 yum安裝相應的軟體:
yum install httpd -y yum install php -y yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath libmcrypt -y yum install openssl-devel -y yum install -y mongodb-org yum install php-pecl-mongo
php-pecl-mongo也可以採用手工的安裝方式:
下載mongodb擴充套件
wget http://pecl.php.net/get/mongodb-1.1.8.tgz tar vxf mongodb-1.1.8.tgz mv mongodb-1.1.8 /usr/local/php-mongodb cd /usr/local/php-mongodb/ ./configure --with-php-config=/usr/bin/php-config Make && make install echo 'extension = mongo.so' > /etc/php.d/mongodb.ini
但這種安裝需要注意各個版本的相容關係。
3 在php中建立與DocumentDB的連線
在/var/www/html中建立index.php
<?php //phpinfo(); $mongo = new mongo('mongodb://hipomdb01:xxxx==@hipomdb01.documents.azure.cn:10250/?ssl=true'); var_dump($mongo); echo "<br>"; $mongodb = $mongo->mydb; var_dump($mongodb); echo "<br>"; $collection = $mongodb->selectCollection('stu'); var_dump($collection); for ($i=0; $i<=200; $i++){ $array= array('_id'=>$i+1,'sn'=>$i+1,'name'=>'zhang san'+$i,'gender'=>'male','age'=>8); $collection->insert($array); } echo "<br>"; echo 'count:' .$collection->count()."<br>"; ?>
通過瀏覽器進行瀏覽,看到如下內容:
說明資料已經插入成功。