Reference

安装PECL

PECL is a repository for PHP Extensions, providing a directory of all known extensions and hosting facilities for downloading and development of PHP extensions.The packaging and distribution system used by PECL is shared with its sister, PEAR.

下载扩展

放入目录

下载完你需要的二进制包后,解压压缩包,将 php_mongodb.dll文件添加到你的PHP扩展目录中(ext)。ext目录通常在PHP安装目录下的ext目录。

打开php配置文件 php.ini 添加以下配置:

extension=php_mongodb.dll

重启服务器。

image

这样就安装完成了扩展。

下载codeigniter-mongodb-library

用git clone下载后目录结构为

codeigniter-mongodb-library

├── application

│ ├── config

│ │ └── mongo_db.php

│ └── libraries

│ └── Mongo_db.php

├── LICENSE

└── README.md

3 directories, 4 files

添加文件

config

然后将config\mongo_db.php放到Codeigniter框架application的conf目录下,并配置对应的选项。

/*

| -------------------------------------------------------------------------

| DATABASE CONNECTIVITY SETTINGS

| -------------------------------------------------------------------------

| This file will contain the settings needed to access your Mongo database.

|

|

| ------------------------------------------------------------------------

| EXPLANATION OF VARIABLES

| ------------------------------------------------------------------------

|

| ['hostname'] The hostname of your database server.

| ['username'] The username used to connect to the database

| ['password'] The password used to connect to the database

| ['database'] The name of the database you want to connect to

| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.

| ['write_concerns'] Default is 1: acknowledge write operations. ref(http://php.net/manual/en/mongo.writeconcerns.php)

| ['journal'] Default is TRUE : journal flushed to disk. ref(http://php.net/manual/en/mongo.writeconcerns.php)

| ['read_preference'] Set the read preference for this connection. ref (http://php.net/manual/en/mongoclient.setreadpreference.php)

| ['read_preference_tags'] Set the read preference for this connection. ref (http://php.net/manual/en/mongoclient.setreadpreference.php)

|

| The $config['mongo_db']['active'] variable lets you choose which connection group to

| make active. By default there is only one group (the 'default' group).

|

*/

$config['mongo_db']['active'] = 'default';

$config['mongo_db']['default']['no_auth'] = true;

$config['mongo_db']['default']['hostname'] = 'localhost';

$config['mongo_db']['default']['port'] = '27017';

$config['mongo_db']['default']['username'] = '';

$config['mongo_db']['default']['password'] = '';

$config['mongo_db']['default']['database'] = 'ci_test'; // 测试数据库ci_test

$config['mongo_db']['default']['db_debug'] = TRUE;

$config['mongo_db']['default']['return_as'] = 'array';

$config['mongo_db']['default']['write_concerns'] = (int)1;

$config['mongo_db']['default']['journal'] = TRUE;

$config['mongo_db']['default']['read_preference'] = 'primary';

$config['mongo_db']['default']['read_concern'] = 'local'; //'local', 'majority' or 'linearizable'

$config['mongo_db']['default']['legacy_support'] = TRUE;

/* End of file database.php */

/* Location: ./application/config/database.php */

可以修改 mongo_db下面的键名 default ,但是我这里保持默认。

修改autoload.php

image

将mongo_db加入到$autoload['libraries']的array中。

libraries

将 下载文件夹中的 libraries\Mongo_db.php 放到对应框架的application中去application/libraries/Mongo_db.php

使用

在controller的方法中这样使用

public function index()

{

$this->load->library('mongo_db',array('activate'=>'default'),'mongo_db');

$res = $this->mongo_db->get('test');

echo 'codeigniter + MongoDB';

echo '

';

print_r($res);

}

image

image

更好的是直接看 lib 中的源码!注释里面都有usage

get

@usage : $this->mongo_db->get('foo');

get($collection = "")

选择查看的 集合名称 string类型,返回该集合所有内容(所有字段)

get_where

@usage : $this->mongo_db->get_where('foo', array('bar' => 'something'));

get_where($collection = "", $where = array())

参数一:集合名称 字符串

参数二:条件 array数组

就是和find命令一样,返回符合where这个条件的内容。

select

@usage: $this->mongo_db->select(array('foo', 'bar'))->get('foobar');

select($includes = array(), $excludes = array())

select第一个参数是包括的字段,第二个是除外的字段,然后再调用get,就可以只显示固定的字段了。(但是好像_id都会返回)

find_one

@usage : $this->mongo_db->find_one('foo');

find_one($collection = "")

只返回集合中的一个文件

where

@usage : $this->mongo_db->where(array('foo' => 'bar'))->get('foobar');

where($wheres, $value = null)

这个$wheres就是一个 键名 - 键值 和 列名 - 查找值 对应的关系

update

@usage: $this->mongo_db->update('foo', $data = array());

update($collection = "", $options = array())

一般和where和set连用吧。where找到具体记录 set后update更新

参数1:集合名 string

参数2:选项

set

@usage: $this->mongo_db->where(array('blog_id'=>123))->set('posted', 1)->update('blog_posts');

@usage: $this->mongo_db->where(array('blog_id'=>123))->set(array('posted' => 1, 'time' => time()))->update('blog_posts');

set($fields, $value = NULL)

这个set用来设置具体字段的内容的,如usage上的写法,可以先调用where在用set然后显式的update

delete

@usage : $this->mongo_db->delete('foo');

delete($collection = "")

应该也是做最后的一个显式提交,先用where或者其他方式找到某个文件,然后delete下。

php mongodb类 setreadpreference,Codeigniter使用MongoDB相关推荐

  1. PHP操作Mongodb API 及使用类 封装好的MongoDB操作类

    来源:http://www.itokit.com/2012/0427/73656.html <?php /*** Mongodb类** examples: * $mongo = new HMon ...

  2. mongodb存储数据_在MongoDB中存储分层数据

    mongodb存储数据 继续使用MongoDB进行 NoSQL之旅,我想谈一谈一个经常出现的特定用例:存储分层文档关系. MongoDB是很棒的文档数据存储,但是如果文档具有父子关系,该怎么办? 我们 ...

  3. MongoDB学习(二)MongoDB 认证详解

    1.启动MongoDB 1.1命令启动 root@wiki:[/root]mongod --config /opt/mongodb/mongodb.conf about to fork child p ...

  4. mongodb near java_简阅MongoDB JVM开发库

    当存储基于文档的 JSON 数据的时候,MongoDB 是我最喜欢的数据库.基于 JVM 的语言在与 MongoDB 交互上有很多种选择.我觉得拿四个最流行的解决方案并且都实现一个用例,对我来说不失为 ...

  5. 【MongoDB】什么是MongoDB?MongoDB有什么特点?MongoDB的适用场景?

    什么是MongoDB数据库? MongoDB是一个开源.高性能.支持海里数据存储的文档型数据库. MongoDB是一个高效的非关系型数据库(不支持表关系:只能操作单表) MongoDB是一个介于关系数 ...

  6. php mongodb execute,php简单操作mongodb

    您现在的位置是:网站首页>>PHP>>php php简单操作mongodb 发布时间:2019-09-29 16:34:25作者:wangjian浏览量:525点赞量:0 一: ...

  7. python mongodb orm_Django 通过 mongoengine 连接 MongoDB 进而使用orm进行CRUD

    一. 在python脚本中, 我们通常可以使用pymongo模块实现与mongodb数据库的交互, 但是在使用Django框架进行定制开发的web server 项目中, 仍然使用pymongo模块的 ...

  8. Windows下MongoDB的安装与设置MongoDB服务

    Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB ...

  9. (翻译) MongoDB(7) 安装MongoDB

    本部分主要包含 MongoDB 的安装教程. 支持的平台 平台 3.2 3.0 2.6 2.4 2.2 Amazon Linux ✓ ✓ ✓ ✓ ✓ Debian 7 ✓ ✓ ✓ ✓ ✓ Fedora ...

最新文章

  1. jira无法访问此网站_天津制作网站公司:更换空间对网站SEO的影响
  2. java 对象 jvm生命_JVM对象的生命周期
  3. Java heap space设置方法记录
  4. jdbc详解:1、创建数据库connection连接
  5. C#中用委托实现C++的回调函数
  6. 热点事件发现、演化及时间线Timeline、故事线Storyline自动生成
  7. java基础知识点(3)——标识符常量变量
  8. Python程序员之面试必回习题
  9. plc有与计算机的通讯请求时,OMRON PLC网络Ethernet网_OMRON PLC与上位计算机之间的通信_OMRON PLC与上位计算机通信程序-维库电子通...
  10. 数据结构与算法之--高级排序:shell排序和快速排序
  11. C++socket编程(五):5.1 创建tcpclient项目
  12. 解码(三):AVFrame格式解析和空间处理函数
  13. “放管服”改革背景下公安车驾管业务办理情况调研
  14. cocos2dx检测及预防外挂加速
  15. 方舟手游修改服务器难度,方舟手游中途可以修改难度吗
  16. 存储过程实现报表数据源的利弊分析
  17. UI库——muse-ui
  18. linux脚本循环创建用户,shell应用之批量添加用户实例
  19. VOT Toolkit工具使用说明(Python版)
  20. 【权限管理框架】一文看懂Shiro权限管理框架!

热门文章

  1. 第一期站立会议2(11.16)
  2. Docker快速配置指南
  3. POJ 3046 Ant Counting ( 多重集组合数 经典DP )
  4. 映射网络驱动器 net use
  5. Ionic常见问题--插件无法下载:npm ERR打包sha1错误
  6. SQL Server与Oracle对比学习:权限管理(一)
  7. 编译安装nginx-1.6.0
  8. 老段51CTO会员卡 限时半价
  9. 使用ROW_NUMBER()查询:列名 'RowNumber' 无效。
  10. Adobe下周将推新补丁和新的更新模式