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=
gpgcheck=
mongo.repo
[mongodb-org-2.6]
name=MongoDB 2.6 Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=
enabled=

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..tgz
mv mongodb-1.1. /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>";
?>

通过浏览器进行浏览,看到如下内容:

说明数据已经插入成功。

通过php的MongoDB driver连接Azure的DocumentDB PaaS的更多相关文章

  1. MongoDB系列:五、MongoDB Driver使用正确的姿势连接复制集

    MongoDB复制集(Replica Set)通过存储多份数据副本来保证数据的高可靠,通过自动的主备切换机制来保证服务的高可用.但需要注意的时,连接副本集的姿势如果不对,服务高可用将不复存在. 使用复 ...

  2. [转载]MongoDB 标准连接字符串

    MongoDB 标准连接字符串 mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[data ...

  3. Java程序中与MongoDB建立连接~小记

    1.Mongo和MongoClient的关系 MongoClient继承自Mongo,使用Mongo也可建立连接,但是需要使用与Mongo适应的MongoOptions,MongoURI等类型. 2. ...

  4. MongoDB Driver 简单的CURD

    c#中我们可以使用MongoDB.Driver驱动进行对MongoDB数据库的增删改查. 首先需要在NuGet中安装驱动 安装完毕后会发现会有三个引用 其中 MongoDB.Driver和MongoD ...

  5. c# MongoDB Driver 官方教程翻译

    先贴官方文档地址:http://mongodb.github.io/mongo-csharp-driver/2.5/getting_started/quick_tour/ 安装部分很简单,nuget搜 ...

  6. 在Spark中通过Scala + Mongodb实现连接池

    How to implement connection pool in spark https://github.com/YulinGUO/BigDataTips/blob/master/spark/ ...

  7. MongoDB.Driver 2.4以上版本 在.NET中的基本操作

    MongoDB.Driver是操作mongo数据库的驱动,最近2.0以下版本已经从GitHub和Nuget中移除了,也就是说.NET Framework4.0不再能从官方获取到MongoDB的驱动了, ...

  8. MongoDB入门及 c# .netcore客户端MongoDB.Driver使用

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...

  9. C# .NET Core 3.1中使用 MongoDB.Driver 更新嵌套数组元素和关联的一些坑

    C# .NET Core 3.1中使用 MongoDB.Driver 更新数组元素和关联的一些坑 前言: 由于工作的原因,使用的数据库由原来的 关系型数据库 MySQL.SQL Server 变成了 ...

随机推荐

  1. [SCOI2013]火柴棍数字(背包)

    题目 做饭 由于越高位越好,我们先得出能组成的最高位 \(f[i][j][k]\)表示从低到高位第\(i\)位,手里拿着\(j\)根火柴,第\(i\)位是否为\(0\)所需要的最少火柴 我们转移仅需得 ...

  2. 使用concurrent.futures和ProcessPoolExecutor来替代线程和进程

    concurrent.futures和ProcessPoolExecutor这两个类实现的借口分别在不同的线程或进程中执行可调用的对象,这两个类在内部维护者一个工作线程或进程池,以及要执行的队列,这两 ...

  3. Java Junit5 Annotations

    @BeforeEach 在方法上注解,在每个测试方法运行之前执行 @AfterEach 在方法上注解,在每个测试方法运行之后执行 @BeforeAll 该注解方法会在所有测试方法之前运行,该方法必须是 ...

  4. Bootstrap3组件--1

     目录 1. Glyphicons字体图标 2.下拉菜单 3.按钮组 4. 输入框组 5.导航 6. 导航条 7. 路径导航 1. Glyphicons字体图标 出于性能的考虑,所有图标都需要一个基类 ...

  5. linux 安装tomcat7

    wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.81/bin/apache-tomcat-7.0.81.tar.gz 解压安装包 t ...

  6. LeetCode——Construct Binary Tree from Preorder and Inorder Traversal

    Question Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may as ...

  7. Mac键盘图标与对应快捷按键标志汇总 分类

    Mac键盘图标与对应快捷按键 ⌘——Command () win键 ⌃ ——Control ctrl键 ⌥——Option (alt) ⇧——Shift ⇪——Caps Lock fn——功能键就是 ...

  8. 树分治learning

    学习了树的点分治,树的边分治似乎因为复杂度过高而并不出众,于是没学 自己总结了一下 有些时候面对一些树上的结构 并且解决的是和路径有关的问题的时候 如果是多个询问 关注点在每次给出两个点,求一些关于这 ...

  9. YII2笔记之二

    module id / module id /.../ controller id / action idmodule id / directory / controller id / action ...

  10. YII2笔记之一

    安装advanced:执行init 执行yii.bat 创建数据库  修改common/config/main-local.php中的db配置  执行migratebasic:web目录是可以被外部直 ...