安装PHP-mongo扩展

安装php-mongo扩展和安装其他php扩展的步骤一样:

#1.首先上http://pecl.php.net上面搜索mongo,得到下载地址
wget http://pecl.php.net/get/mongo-1.6.11.tgz
tar zxvf ./mongo-1.6.11.tgz #2.解压进入,phpize后进行编译
cd ./mongo-1.6.11
phpize #有可能要写全phpize的地址
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install #3.编译成功后出现:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ #4.得其地址写入php.ini
extension = mongo.so #有可能要写全mongo.so的路径,也就是上面的提示 #5.安装完以后,看phpinfo()中有没有这个扩展,有就表示安装成功;

以上基本上也是其他PHP扩展安装的常规方法

官方的PHP-mongo类使用

一般都是进行二次封装后再使用,便于后续的扩展;在此之前,我们先熟悉官方的的使用方法,php官方类使用起来跟其他扩展的类方法相比略为特殊

<?php
# 首先通过MongoClient(Mongo)类来链接mongo的客户端
# class mongo: This class extends MongoClient and provides access to several deprecated methods. 一般我们用mongoClient就可以了 $client = new MongoClient(); // 得到$client客户端对象,如果没有传入参数,它会连接到 "localhost:27017",实际上还可以传入参数mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/ 链接多个客户端,比如链接三个mongos,其中一个崩溃,它会马上去链接第二个,直到全部链接不上,才会抛出一个异常 更多constructor参考:http://php.net/manual/zh/mongoclient.construct.php $db = $client -> shop; //获取名称为shop的数据库对象,或者使用$db = $m->selectDB("example"),这个时候$db是由class mongoDB来实例的,更多可以参考http://php.net/manual/zh/class.mongodb.php $goods = $db -> goods; //得到goods集合对象,这个时候的$goods对象是由class MongoCollection类来实例的; //db.goods.find({},{'_id':0,'goods_id':1,'goods_name':1})
$cursor = $goods -> $goods -> find(array(),array('_id' => 0,'goods_id' => 1,'goods_name' => 1)); //得到cursor对象,这个时候的cursor对象是由class MongoCursor来实例的 #接下来才是正式操作mongoDB的数据,把json转换为数组既可;
$data = array();
foreach ($cursor as $v) {
$data[] = $v;
} #或者
$data = iterator_to_array($cursor); # 内置函数: 将迭代器中的元素拷贝到数组 /**********部分操作示例**********/ $users = $db -> users; # 返回值
$insert = $users -> insert(array('user_id' => 1,'user_name' => 'zxg','sex' => 'boy'));
/*
Array
(
[ok] => 1 //除非 last_error 本身出现错误,否则都是1,代表成功;
[n] => 0 //受影响的数量,在insert的时候这个值始终是0;
[err] => null
[errmsg] => null
)
*/ # 执行js,注意这是class mongoDB类的方法
$response = $db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye", "Joe"));
echo $response['retval']; // Good bye, Joe!
?>

参考

PHP: MongoClient - Manual: http://php.net/manual/zh/class.mongoclient.php

【mongoDB基础篇②】PHP-mongo扩展的编译以及使用的更多相关文章

  1. MongoDB基础篇1:安装和服务配置

    一.下载 请前往官网下载community版本MongoDB,我当前可见最新版本是3.6.4 https://www.mongodb.com/download-center#community 如需下 ...

  2. mongodb基础篇

    一.  关于mongodb 两种非关系数据库 Redis:满足极高读写性能的Key-Value数据库 键值式储存,可以通过键快速查询到值. 内存数据库,类似于mencached.性能出色.容量低,不具 ...

  3. centos下安装mongodb和php的mongo扩展

    安装MongoDB 1.下面安装MongoDB,先下载: cd /usr/src wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2 ...

  4. 第一部分 mongodb 基础篇

    什么是NoSQL认识MongoDBMongDB的下载与安装MongoDB的体系结构常用命令(基本的增删改查)客户端GUI工具集合 一: 什么是NoSql1 NoSQL简介NoSQL是Not Only ...

  5. 【mongoDB基础篇①】安装与常用操作语句

    简述 mongoDB与redis同为noSql数据库,但是redis为kv数据库(key/value),而mongoDB为文档型数据库存储的是文档(Bson->json的二进制化).内部执行引擎 ...

  6. C语言基础篇(零)gcc编译和预处理

    导航: 1. gcc编译 2. 预处理 ----->x<------------->x<--------------->x<--------------->x ...

  7. MongoDB基础篇2:数据库/用户/数据集合的增删改

    一.数据库操作 创建并进入数据库: 命令:use DATABASE_NAME 示例:use tms   查看所有数据库: 命令:show dbs   注意: (1)新创建的数据库在show dbs命令 ...

  8. mongodb基础用法

    安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...

  9. 我叫Mongo,收了「查询基础篇」,值得你拥有

    这是mongo第二篇「查询基础篇」,后续会连续更新6篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上一篇基础篇的介 ...

随机推荐

  1. hadoop架构

    HADOOP中可以分为两个大的模块,存储模块和计算模块.HDFS作为存储模块,JobTracker,TaskTracker构成计算模块.   1.HADOOP的文件是以HDFS格式存储的   HDFS ...

  2. 关于iOS6应用中第三方类库不支持armv7s的问题解决

    今天编译ios6+cocos2d v2 .1 beta2制作的游戏,出现下面的错误: ld: file is universal (3 slices) but does not contain a(n ...

  3. 重绘panel控件,实现panel的阴影效果

    最近想在项目中添加一个要有阴影的panel控件,找了好多资料,最后通过采用图片的方式实现了panel的阴影效果,效果图如下: 重绘代码如下: using System; using System.Co ...

  4. oracle-11g-配置dataguard

    1.环境信息:系统:oracle-linux 5.7 数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit P ...

  5. 腾讯WEB前端开发三轮面试经历及面试题

    [一面]~=110分钟  2013/04/24 11:20  星期三 进门静坐30分钟做题. 填空题+大题+问答题 >>填空题何时接触电脑 何时接触前端运算符 字符串处理        延 ...

  6. 基础才是重中之重~理解linq中的groupby

    linq将大部分SQL语句进行了封装,这使得它们更加面向对象了,对于开发者来说,这是一件好事,下面我从基础层面来说一下GroupBy在LINQ中的使用. 对GroupBy的多字段分组,可以看我的这篇文 ...

  7. C#转换日期类型

    日期1999-5-31 11:20转换成 /Date(928120800000+0800)/ 其中928120800000实际上是一个1970 年 1 月 1 日 00:00:00至这个DateTim ...

  8. what are Datatypes in SQLite supporting android

    As said at Datatypes In SQLite Version 3: Datatypes In SQLite Version 3 Most SQL database engines (e ...

  9. Could not find file '..\bin\hibernate.cfg.xml'解决方法:

    web.config: 解决方法:

  10. Django 学习笔记之六 建立一个简单的博客应用程序

    最近在学习django时建立了一个简单的博客应用程序,现在把简单的步骤说一下.本人的用的版本是python 2.7.3和django 1.10.3,Windows10系统 1.首先通过命令建立项目和a ...