您的位置:首页 > 编程语言 > PHP开发

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表里,不用蛋疼的维护额外的一个表了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: