时间:2021-05-26
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(); } }以上所述就是本文的全部内容了,希望大家能够喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了PHP操作MongoDB实现增删改查功能。分享给大家供大家参考,具体如下:MongoDB的PHP驱动提供了一些核心类来操作MongoDB,总的来说
本文实例讲述了php操作mongodb封装类与用法。分享给大家供大家参考,具体如下:近来学习了mongodb,刚好是做php开发的,随便写了php操作mongo
MongoCursorObject游标类MongoConfig.php配置文件Table.php(mongodb操作数据库类文件)Config.php配置文件复
本文实例讲述了php操作MongoDB类的方法。分享给大家供大家参考。具体如下:1.MyMongo.php文件:log_error("TheMongoDBPEC
本文实例讲述了PHP简单操作MongoDB的方法。分享给大家供大家参考,具体如下:php操作MongoDB的话首先从网上下载MongoDB的扩展包,https: