PHP扩展Mongo简单使用
2013-06-13 08:06
204 查看
还是先了解概念,然后在学习个实例。
转载http://simpx.me/2011/06/php-mongodb-installation/
简单使用
PHP里使用mongo就像用一些封装好的ORM一样简单,不需要写SQL语句。 以下代码转自php.net,自己翻译了注释
//连接
$m = new Mongo();
//选择comedy数据库,不存在的话会新建
$db = $m->comedy;
//选择一个collection (类似与关系数据库里的表),同样不存在会创建
$collection = $db->cartoons;
//新增一条记录
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);
//新增另一条不同"shape"的记录
$obj = array( "title" => "XKCD", "online" => true );
$collection->insert($obj);
//寻找这个collection中的所有记录
$cursor = $collection->find();
//循环访问并输出结果
foreach ($cursor as $obj) {
echo $obj["title"] . "\n";
}
有点经验的人看到这些代码肯定都已经感叹mongo的简单了。在我目前了解的有限mongo知识里,最吸引我的就是它可以插入不同"shape"的记录。 把Mysql数据库想象成一个书架,一张表就是书架上的一本笔记本,那么笔记本的每一页里都已经画了一张表格,你必须根据表格的格式填入数据;而Mongo数据库里,一个collection是一本笔记本,每一页都是空白的,你可以按照自己喜欢的格式放入数据,数据的灵活性就更大了。
比如一个用户有username、password、job属性,job为teacher的用户额外有school属性,而job为programmer的用户额外有company、language属性。在关系数据库中,常见的存储方案是将username、password、job放在一个user表中,然后再新建一个usermeta表,字段为metaKey和metaValue,用来存储额外的属性。在mongo数据库中,可以直接把这些数据,都存在user表里,不用蛋疼的维护额外的一个表了!
转载http://simpx.me/2011/06/php-mongodb-installation/
简单使用
PHP里使用mongo就像用一些封装好的ORM一样简单,不需要写SQL语句。 以下代码转自php.net,自己翻译了注释
//连接
$m = new Mongo();
//选择comedy数据库,不存在的话会新建
$db = $m->comedy;
//选择一个collection (类似与关系数据库里的表),同样不存在会创建
$collection = $db->cartoons;
//新增一条记录
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);
//新增另一条不同"shape"的记录
$obj = array( "title" => "XKCD", "online" => true );
$collection->insert($obj);
//寻找这个collection中的所有记录
$cursor = $collection->find();
//循环访问并输出结果
foreach ($cursor as $obj) {
echo $obj["title"] . "\n";
}
有点经验的人看到这些代码肯定都已经感叹mongo的简单了。在我目前了解的有限mongo知识里,最吸引我的就是它可以插入不同"shape"的记录。 把Mysql数据库想象成一个书架,一张表就是书架上的一本笔记本,那么笔记本的每一页里都已经画了一张表格,你必须根据表格的格式填入数据;而Mongo数据库里,一个collection是一本笔记本,每一页都是空白的,你可以按照自己喜欢的格式放入数据,数据的灵活性就更大了。
比如一个用户有username、password、job属性,job为teacher的用户额外有school属性,而job为programmer的用户额外有company、language属性。在关系数据库中,常见的存储方案是将username、password、job放在一个user表中,然后再新建一个usermeta表,字段为metaKey和metaValue,用来存储额外的属性。在mongo数据库中,可以直接把这些数据,都存在user表里,不用蛋疼的维护额外的一个表了!
相关文章推荐
- Centos7下安装php-redis扩展及简单使用
- ubuntu下安装mongo,添加php的mongo扩展以及laravel下使用mongo
- centos安装php扩展swoole及简单使用
- mac 安装php mongo扩展,无法使用的解决办法
- php5.2下添加php_mongo.dll扩展无法使用的原因及解决办法
- 用Php扩展实现的简单框架 - 6 - 使用示例
- Centos7下安装php-redis扩展及简单使用
- Centos7下安装php-redis扩展及简单使用
- Centos7下安装php-redis扩展及简单使用
- Centos7下安装php-redis扩展及简单使用
- PHP扩展类ZipArchive简单使用
- 【mongoDB基础篇②】PHP-mongo扩展的编译以及使用
- php pthreads 多线程扩展的使用:一个较为稳定例子。
- PHP中使用XML-RPC构造Web Service简单入门
- 如何使用Log4net创建日志及简单扩展
- php版本5.3,使用php自身扩展做了个web service,
- AJAX在PHP中的简单使用
- MAC 下使用XAMPP为PHP扩展redis
- 构建一个简单的php扩展