行动 在了实践之前,希望大家看一下上面的学习资源,了解一下基本操作. 数据连接初始账号密码 账号:admin 密码:admin 首先我们建立一个文件:mongodb.php,设置需要连接账号密码,连接数据库 ?php/** * Mongodb Test * * Tools: * Zend Studio 8.x * Eclipse Plug
在了实践之前,希望大家看一下上面的学习资源,了解一下基本操作.
数据连接初始账号密码
账号:admin
密码:admin
首先我们建立一个文件:mongodb.php,设置需要连接账号密码,连接数据库
<?php /** * Mongodb Test * * Tools: * Zend Studio 8.x * Eclipse Plug :Toggle Varpper
* * @author Wu Bai Qing<wbqyyicx@gmail.com> * @version $Id: Mongodb.php 17 2011-09-17 06:04:15Z wbq $ */ $mongo_server_name = 'admin'; $mongo_server_pwd = 'admin'; // 连接Mongo数据库 数据库地址:端口/账号:密码; $mongo = new Mongo('mongodb://localhost:27017/admin:admin'); // 选择一个数据库和要操作的集(如果没有数据库默认创建) $collection = $mongo->selectDB('rrs_result')->selectCollection('content'); ?>
数据库自动创建成功
添加一条数据!
<?php $content = array( 'title'=>'叶子-吴佰清', 'author'=>'吴佰清', 'url'=>'http://www.cnblogs.com/wubaiqing/archive/2011/09/17/2179870.html', ); $collection->insert($content); ?>
存放的数据内容:
<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA CrLp0a/L dPQyv2 3To8L3A Cgo8aW1nIHNyYz0="http://www.68idc.cn/help/uploads/allimg/150619/0514502151-0.gif" alt="初识Mongodb之[CURD]-PHP版">
<?php $rows = $collection->find(); foreach ($rows as $key => $val) { var_dump($val); } ?>
结果:
更改数据:
<?php $where = array('title'=>'叶子-吴佰清'); $set = array('title'=>'叶子'); $collection->update($where,array( '$set'=>$set, )); ?>
结果:
删除数据:
<?php $collection->remove(array( 'title'=>'叶子', )); ?>
结果:
No records is found.
完整代码:
<?php /** * Mongodb Test * * Tools: * Zend Studio 8.x * Eclipse Pulg :Toggle Varpper * * @author Wu Bai Qing<wbqyyicx@gmail.com> * @version $Id: Mongodb.php 17 2011-09-17 06:04:15Z wbq $ */ $mongo_server_name = 'admin'; $mongo_server_pwd = 'admin'; // 连接Mongo数据库 数据库地址:端口/账号:密码; $mongo = new Mongo('mongodb://localhost:27017/admin:admin'); // 选择一个数据库和要操作的集(如果没有数据库默认创建) $collection = $mongo->selectDB('rrs_result')->selectCollection('content'); /* // 添加 $content = array( 'title'=>'叶子-吴佰清', 'author'=>'吴佰清', 'url'=>'http://www.cnblogs.com/wubaiqing/archive/2011/09/17/2179870.html', ); $collection->insert($content); */ /* // 查询 $colle = $collection->find(array('title'=>'叶子-吴佰清')); foreach ($colle as $key => $val) { var_dump($val); } */ /* // 修改 $where = array('title'=>'叶子-吴佰清'); $set = array('title'=>'叶子'); $collection->update($where,array( '$set'=>$set, )); */ /* //删除 $collection->remove(array( 'title'=>'叶子', )); */ // End 2011-09-17 23:39 ?>
下面是sql和Mongodb对应的一些语法:
SQL语句 | Mongo 查询语言语句 |
---|---|
创建表用户(a 数字,b 数字) | 隐式或使用 MongoDB::createCollection(). |
插入用户值(1,1) | $db->users->insert(array("a" => 1, "b" => 1)); |
从用户中选择 a,b | $db->users->find(array(), array("a" => 1, "b" => 1)); |
从年龄=33的用户中选择* | $db->users->find(array("age" => 33)); |
从年龄=33的用户中选择a,b | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1)); |
从年龄=33的用户中选择a,b | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1)); |
从年龄 = 33 的用户中选择 a,b 按姓名排序 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array ("名称" => 1)); |
从年龄>33的用户中选择* | $db->users->find(array("age" => array('$gt' => 33))); |
从年龄 | $db->users->find(array("age" => array('$lt' => 33))); |
从名称类似于“%Joe%”的用户中选择* | $db->users->find(array("name" => new MongoRegex("/Joe/"))); |
从名称类似于“Joe%”的用户中选择* | $db->users->find(array("name" => new MongoRegex("/^Joe/"))); |
从年龄>33且年龄 | $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40))); |
从用户中选择 * 按名称 DESC 排序 | $db->users->find()->sort(array("name" => -1)); |
在用户(名称)上创建索引 myindexname | $db->users->ensureIndex(array("name" => 1)); |
在用户上创建索引 myindexname(name,ts DESC) | $db->users->ensureIndex(array("name" => 1, "ts" => -1)); |
从用户中选择 *,其中 a=1 且 b='q' | $db->users->find(array("a" => 1, "b" => "q")); |
从用户中选择* LIMIT 10 SKIP 20 | $db->users->find()->limit(10)->skip(20); |
从用户中选择 *,其中 a=1 或 b=2 | $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2)))); |
从用户 LIMIT 1 中选择 * | $db->users->find()->limit(1); |
解释 SELECT * FROM users WHERE z=3 | $db->users->find(array("z" => 3))->explain() |
从用户中选择不同的姓氏 | $db->command(array("distinct" => "users", "key" => "last_name")); |
从用户中选择 COUNT(*y) 个 | $db->users->count(); |
从 AGE > 的用户中选择 COUNT(*y) 个30 | $db->users->find(array("age" => array('$gt' => 30)))->count(); |
从用户中选择 COUNT(AGE) 个 | $db->users->find(array("age" => array('$exists' => true)))->count(); |
更新用户 SET a=1 WHERE b='q' | $db->users->update(array("b" => "q"), array('$set' => array("a" => 1))); |
更新用户 SET a=a+2 WHERE b='q' | $db->users->update(array("b" => "q"), array('$inc => array("a" => 2))); |
从 z="abc" 的用户中删除 |
$db->users->remove(array("z" => "abc")); |