1.mongo_db.php
<?php /** * Created by PhpStorm. * User: yangyulong * Date: 2015/5/26 * Time: 13:45 */ class Mongo_db { private static $instanceof = NULL; public $mongo; private $host = 'localhost'; private $port = '27017'; private $db; public $dbname; private $table = NULL; /** * 初始化类,得到mongo的实例对象 */ public function __construct($host = NULL, $port = NULL, $dbname = NULL, $table = NULL) { if (NULL === $dbname) { $this->throwError('集合不能为空!'); } //判断是否传递了host和port if (NULL !== $host) { $this->host = $host; } if (NULL !== $port) { $this->port = $port; } $this->table = $table; $this->mongo = new MongoClient($this->host . ':' . $this->port); if ($this->getVersion() >= '0.9.0') { $this->dbname = $this->mongo->selectDB($dbname); $this->db = $this->dbname->selectCollection($table); } else { $this->db = $this->mongo->$dbname->$table; } } public function getVersion() { return MongoClient::VERSION; } /** * 单例模式 * @return Mongo|null */ //public static function getInstance($host=null, $port=null, $dbname=null, $table=null){ // // if(!(self::$instanceof instanceof self)){ // self::$instanceof = new self($host, $port, $dbname, $table); // } // // return self::$instanceof; //} /** * 插入一条数据 * @param array $doc */ public function insert($doc = array()) { if (empty($doc)) { $this->throwError('插入的数据不能为空!'); } //保存数据信息 try { if (!$this->db->insert($doc)) { throw new MongoException('插入数据失败'); } } catch (MongoException $e) { $this->throwError($e->getMessage()); } } /** * 插入多条数据信息 * @param array $doc */ public function insertMulti($doc = array()) { if (empty($doc)) { $this->throwError('插入的数据不能为空!'); } //插入数据信息 foreach ($doc as $key => $val) { //判断$val是不是数组 if (is_array($val)) { $this->insert($val); } } } /** * 查找一条记录 * @return array|null */ public function findOne($where = NULL) { if (NULL === $where) { try { if ($result = $this->db->findOne()) { return $result; } else { throw new MongoException('查找数据失败'); } } catch (MongoException $e) { $this->throwError($e->getMessage()); } } else { try { if ($result = $this->db->findOne($where)) { return $result; } else { throw new MongoException('查找数据失败'); } } catch (MongoException $e) { $this->throwError($e->getMessage()); } } } /** * todo 带条件的随后做 * 查找所有的文档 * @return MongoCursor */ public function find($where = NULL) { if (NULL === $where) { try { if ($result = $this->db->find()) { } else { throw new MongoException('查找数据失败'); } } catch (MongoException $e) { $this->throwError($e->getMessage()); } } else { try { if ($result = $this->db->find($where)) { } else { throw new MongoException('查找数据失败'); } } catch (MongoException $e) { $this->throwError($e->getMessage()); } } $arr = array(); foreach ($result as $id => $val) { $arr[] = $val; } return $arr; } /** * 获取记录条数 * @return int */ public function getCount() { try { if ($count = $this->db->count()) { return $count; } else { throw new MongoException('查找总数失败'); } } catch (MongoException $e) { $this->throwError($e->getMessage()); } } /** * 获取所有的数据库 * @return array */ public function getDbs() { return $this->mongo->listDBs(); } /** * 删除数据库 * @param null $dbname * @return mixed */ public function dropDb($dbname = NULL) { if (NULL !== $dbname) { $retult = $this->mongo->dropDB($dbname); if ($retult['ok']) { return TRUE; } else { return FALSE; } } $this->throwError('请输入要删除的数据库名称'); } /** * 强制关闭数据库的链接 */ public function closeDb() { $this->mongo->close(TRUE); } /** * 输出错误信息 * @param $errorInfo 错误内容 */ public function throwError($errorInfo='') { echo "<h3>出错了:$errorInfo</h3>"; die(); } }
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
<🎜>:种植花园 - 完整的突变指南
3 周前ByDDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前By尊渡假赌尊渡假赌尊渡假赌
如何修复KB5055612无法在Windows 10中安装?
3 周前ByDDD
北端:融合系统,解释
3 周前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。