美文网首页我爱编程
ThinkCMF支持mongodb的配置及基本的增删改查操作

ThinkCMF支持mongodb的配置及基本的增删改查操作

作者: 矛盾迩 | 来源:发表于2018-08-02 17:58 被阅读109次

ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架。(摘自官方)

1.下载ThinkCMFX2.2.3

2.安装nginx+php+mysql基本环境

3.安装mongodb

4.php-mongo模块安装

5.将下载的thinkcmf包,解压后,传到nginx的发布目录 。(/www/html/)

6.安装thinkcmf

ThinkCMF支持mongodb的配置及基本的增删改查操作

ThinkCMF支持mongodb的配置及基本的增删改查操作

ThinkCMF支持mongodb的配置及基本的增删改查操作

7.安装成功后,可以看到成功页面提示,有访问前台页面和后台页面的地址。

-----------------------------------------------------------------------------------

下面来使ThinkCMF对mongodb也可以来操作。

1.在配置文件中添加mongodb的配置信息。(/www/html/data/conf/db.php , /www/html/为web的发布目录)

'mongo' => array(

//'配置项'=>'配置值'

'DB_TYPE' => 'mongo', // 数据库类型

'DB_HOST' => '127.0.0.1', // 服务器地址

'DB_NAME' => 'thinkcmf', // 数据库名

'DB_USER' => 'thinkcmf', // 用户名

'DB_PWD' => 'thinkcmf', // 密码

'DB_PORT' => '27017', // 端口

'DB_PREFIX' => 'cmf_',

),

2.添加连接mongodb的方法 (/www/html/application/Common/Common/function.php)

function getMongoDb(){

$mongodb = C ( 'mongo' );

return $mongodb;

}

3.修改文件 Mongo.class.php 路径 /www/html/simplewind/Core/Library/Think/Db/Driver/Mongo.class.php

修改前:73行~77行

if(!empty($db)) { // 传人Db则切换数据库

// 当前MongoDb对象

$this->_dbName = $db;

$this->_mongo = $this->_linkID->selectDb($db);

}

修改后:

if(!empty($db)) { // 传人Db则切换数据库

// 当前MongoDb对象

$this->_dbName = $db;

$this->_mongo = $this->_linkID->selectDb($db);

}else{

$db=$this->config['database'];

$this->_dbName = $db;

$this->_mongo = $this->_linkID->selectDb($db);

}

添加了一个else的情况,否则会在连接mongodb的时候,页面会报错

Call to a member function selectCollection() on a non-object

4.同样修改 文件 Mongo.class.php 路径 /www/html/simplewind/Core/Library/Think/Db/Driver/Mongo.class.php

修改前:418行

$resultSet = iterator_to_array($_cursor);

修改后:

$resultSet = iterator_to_array($_cursor,false);

主要是解决在查询用 find()和select()的时候,输出为数组。

4.在 /www/html/application/Portal/Controller/ 目录下新建 TestmongodbController.class.php,内容如图:

ThinkCMF支持mongodb的配置及基本的增删改查操作

几个基本的增删改查的方法:

public function add(){

$data = array(

'name'=>'yycomsx',

'sex'=>'男',

'address'=>'陕西西安',

);

$this->member_model->add($data);

echo "添加成功!";

}

public function edit(){

$where = array(

'name'=>'yycomsx',

);

$data = array(

'address'=>'陕西西安11111',

);

$this->member_model->where($where)->save($data);

echo "修改成功!";

}

public function find() {

$where = array(

'name'=>'yycomsx',

);

$member = $this->member_model->where($where)->find();

print_r($member);

exit;

}

public function delete(){

$where = array(

'name'=>'yycomsx',

);

$this->member_model->where($where)->delete();

echo "删除成功!";

}

基于主键删除

$array = array(

  '_id' => new \MongoId('5b62a5c7babf4a0d378b4567'),

);

      $this->member_model->where($array)->delete();

相关文章

  • ThinkCMF支持mongodb的配置及基本的增删改查操作

    ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架。(摘自官方) 1.下载ThinkCM...

  • mongodb 查询

    安装mongodb的安装配置mongodb的基本操作mongodb的增删改查(CRUD)选修:主从双备权限控制使用...

  • mongoDB数据库的简单CRUD操作

    mongodb数据库的操作 基本的增删改查 增 增加一条文档:db.sf.insert({ :" "}) 增加多条...

  • Mongodb

    mongodb学习 知识要点: mongodb基本结构 库,集合操作 数据(文档)的增 删 改 查 python操...

  • 0812 A

    mongodb 增删改查 增: db.createCollection("name", {options:numb...

  • nodejs+mongodb

    nodejs操作 mongodb数据库增删改查 创建node增删改查执行文件

  • Nodejs+Mongodb

    nodejs操作 mongodb数据库增删改查 创建node增删改查执行文件 有闪电

  • MongoDB 新手入门 - CRUD

    本文是 MongoDB 新手入门 系列的第一篇,在本文中,我们将会讲解 MongoDB 基本的增删改查操作,在学习...

  • 04.axios与后台 (Vue全栈开发学习笔记)

    后台代码: 1. dao.js:封装mongodb基本的增删改查操作 2. routes\index.js:后台提...

  • 「物联网」从mongodb到influxdb

    之前设计的物联网设备状态汇报存储在mongodb中,mongodb的特点是支持json结构,支持主键,支持增删改查...

网友评论

    本文标题:ThinkCMF支持mongodb的配置及基本的增删改查操作

    本文链接:https://www.haomeiwen.com/subject/cmpsvftx.html