一个技术博客

Mongodb 小试 php连接操作Mongodb

本文由 Tim 于 2016-04-21 15:20:17 发表

最近Mysql新加入了X plugin,可以将Mysql扩展为文件数据库存储数据,使用X Protocol协议连接,当基于ACID的存储引擎时可以实现事务等特性,提供接近NoSQL的操作,命令类似Mongodb,博主之前没接触过Mongodb,因此安装来小试下,Mysql X plugin的介绍可以查看上一篇文章

(二) Mysql5.7 原生JSON格式支持 新增X plugin

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

Mongodb 小试 php连接操作Mongodb

 

NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”。

在mongodb中基本的概念是文档、集合、数据库

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

Mongodb 小试 php连接操作Mongodb

一、安装Mongodb

博主使用的Centos 6.5 64bit,继续使用yum安装,官方安装文档https://docs.mongodb.org/master/tutorial/install-mongodb-on-red-hat/

(1)添加yum源

vi /etc/yum.repos.d/mongodb-org-3.2.repo

添加如下,并退出保存

(2)安装

(3)创建数据目录

(4)启动

安装过程很简单,下载文件有点慢

(4)使用

使用/usr/bin/mongo进入命令行

进行简单的js计算

创建数据库使用use命令,show dbs显示数据库(需要里面有数据才会显示),db显示当前数据库

创建数据表,也可以直接插入数据数据表会一起创建,Mongodb里表对应的是collection集合

显示集合

使用db.collection_name.insert(); 插入一行数据,db.collection_name.find(); 查看数据,可以看到由键值(key=>value)对组成,类似于 JSON 对象。

其他的CRUD等操作可以到官网找到相应命令https://docs.mongodb.org/master/tutorial/insert-documents/

也可以看看这个入门教程http://www.runoob.com/mongodb/mongodb-create-database.html

二、PHP远程连接Mongodb

Mongodb出来几年了,已经有不少公司应用到了生产环境,因此也支持编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

博主使用PHP远程连接Mongodb,环境为Win7 64bit,Wamp集成环境Apache/2.4.17 (Win64) PHP/5.6.16

(1)安装Wamp3

Wamp3集成环境下载地址:Wampserver (64 bits & PHP 5.6.15 & PHP 7) 3

下载后先安装VC 2012和2015库,否则会报VCRUNTIME140.dll和其他dll不存在导致Wamp不能正常运行

Wamp官网安装需要提示安装VC 2011地址是http://www.microsoft.com/en-us/download/details.aspx?id=30679 ,然而进去下载的是VC 2012,按版本我下载的VSU_4\vcredist_x64.exe (大约6.85MB),然而安装完依然报错,Ps:  这这这Apache不是很严谨啊,之前安装Hadoop也是各种不愉快。(⊙o⊙)…

直到安装上VC 2015 ,vc_redist.x64.exe (大约13.9MB),才正常安装运行,VC 2015地址:http://www.microsoft.com/en-us/download/details.aspx?id=48145    或者直接在微软主页搜索Visual C++ Redistributable for Visual Studio 2015。也有可能其实只需要安装VC 2015 ,Wamp官方给的地址是VC2012 update的,读者可以自行尝试,安装过程中不提示缺少.dll,之后能正常运行就行

Wamp3安装完成

Mongodb 小试 php连接操作Mongodb

(2)添加php_mongo.dll扩展

Win系统内使用.dll ,Linux使用.so ,下载地址http://pecl.php.net/package/mongo
扩展一般会区分non thread safe (非线程安全)和thread safe(线程安全)区别就在于,非线程安全一般搭配IIS环境使用,线程安全搭配apache使用
以Win7 64bit,Php5.6为例下载5.6 Thread Safe (TS) x64

Mongodb 小试 php连接操作Mongodb

Mongodb 小试 php连接操作Mongodb

下载好以后打开压缩包我们会发现php_mongo.dll文件,将此文件复制到C:\wamp64\bin\php\php5.6.16\ext  (默认,如果修改过路径自行替换)
打开从Wamp里打开php.ini 在最底下添加一行  extension=php_mongo.dll
之后退出Wamp,重新打开查看phpinfo();  能看到mongo模块,添加成功

Mongodb 小试 php连接操作Mongodb

参考文档wamp环境PHP安装mongodb扩展

(3)php连接Mongodb

首先在远程的Centos 上配置Mongodb

屏蔽如下一行,保存退出
#bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

重启Mongodb

可以看到0.0.0.0:27017

配置iptables或者关闭防火墙

在Win7 上Wamp运行目录 C:\wamp64\www 下新建testmongodb.php

内容如下,MongoClient类文档http://www.php.net/MongoClient.construct

执行成功

Mongodb 小试 php连接操作Mongodb

进入命令行可以看到

之后可以使用其他内置函数进行操作http://us3.php.net/manual/en/book.mongo.php

可以看到Mysql的X plugin基本上和Mongodb功能一致,X plugin目前刚推出还没看到有编程语言支持,相关的文档也不多见,加以时日,或许能看到X plugin商用

欢迎转载,转载请注明出处!Tim » Mongodb 小试 php连接操作Mongodb

点赞 (0)or拍砖 (0)
分享到:更多 ()