文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>MongoDB是我想要的存储么?

MongoDB是我想要的存储么?

时间:2010-11-19  来源:JonathanYoung

先贴点资料吧:

不周山博客上的MongoDB的总结 http://www.wentrue.net/blog/?p=772

超群的MongoDB in Action http://www.fuchaoqun.com/2010/01/mongodb-in-action/  

PPT地址:http://www.fuchaoqun.com/2010/01/mongodb-in-action/

MongoDB的安装地址:http://www.tbdata.org/archives/410

 

接下来秀下自己的安装的结果,算是对今晚工作的一个记录了,先让自己的环境跑起来了,真的去用了,去体验了才感觉到它的强大

安装成功截图,我是在Ubuntu下直接使用了Synaptic Packages Manager 来安装的 ^_^ 没有任何的计算含量了,无奈机器不支持虚拟机的64位安装

 

接下来要做的是PHP下使用MongoDB的具体步骤了.....

贴出超群写的MongoDB下的PHP的操作类Cola_COM_Mongo一看就知道如何操作了,具体操作语句见超群的PPT了

<?php
Class Cola_Com_Mongo
{
    protected $_mongo, $_db;

    /**
     * Constructor
     *
     * @param array $config
     */
    public function __construct($config = array())
    {
        $config = (array)$config + array('server' => 'mongodb://localhost:27017', 'options' => array('connect' => true));

        extract($config);

        $this->_mongo = new Mongo($server, $options);

        if (isset($database)) $this->db($database);

        if (isset($user) && isset($password)) $this->auth($user, $password);
    }

    /**
     * Authenticate
     *
     * @param string $user
     * @param string $password
     */
    public function auth($user, $password)
    {
        $result = $this->_db->authenticate($user, $password);

        if (1 == $result['ok']) {
            return true;
        }

        throw new Cola_Exception('Mongo Auth Failed: bad user or password.');
    }

    /**
     * Select Database
     *
     * @param string $db
     * @return MongoDB
     */
    public function db($database = null)
    {
        if ($database) {
            $this->_db = $this->_mongo->selectDB($database);
        }

        return $this->_db;
    }

    /**
     * Select Collection
     *
     * @param string $collection
     * @return MogoCollection
     */
    public function collection($collection)
    {
        return $this->_db->selectCollection($collection);
    }

    /**
     * MongoId
     *
     * @param string $id
     * @return MongoId
     */
    public static function id($id = null)
    {
        return new MongoId($id);
    }

    /**
     * MongoTimestamp
     *
     * @param int $sec
     * @param int $inc
     * @return MongoTimestamp
     */
    public static function Timestamp($sec = null, $inc = 0)
    {
        if (empty($sec)) $sec = time();
        return new MongoTimestamp($sec, $inc);
    }

    /**
     * GridFS
     *
     * @return MongoGridFS
     */
    public function gridFS($prefix = 'fs')
    {
        return $this->_db->getGridFS($prefix);
    }
}

MongoDB下的数据库设计工具

然后做的是将现有的MySQL下的数据库设计移植到MongoDB下

Memcache 和 MongoDB 配合实现新的数据层 是需要好好的来思考和实现的.....

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载