行动
在了实践之前,希望大家看一下上面的学习资源,了解一下基本操作.
数据连接初始账号密码
账号: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); ?>
存放的数据内容:
查询所有数据:
<?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 Statement | Mongo Query Language Statement |
---|---|
CREATE TABLE USERS (a Number, b Number) | Implicit or use MongoDB::createCollection(). |
INSERT INTO USERS VALUES(1,1) | $db->users->insert(array("a" => 1, "b" => 1)); |
SELECT a,b FROM users | $db->users->find(array(), array("a" => 1, "b" => 1)); |
SELECT * FROM users WHERE age=33 | $db->users->find(array("age" => 33)); |
SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1)); |
SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1)); |
SELECT a,b FROM users WHERE age=33 ORDER BY name | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1)); |
SELECT * FROM users WHERE age>33 | $db->users->find(array("age" => array(‘$gt‘ => 33))); |
SELECT * FROM users WHERE age<33 | $db->users->find(array("age" => array(‘$lt‘ => 33))); |
SELECT * FROM users WHERE name LIKE "%Joe%" | $db->users->find(array("name" => new MongoRegex("/Joe/"))); |
SELECT * FROM users WHERE name LIKE "Joe%" | $db->users->find(array("name" => new MongoRegex("/^Joe/"))); |
SELECT * FROM users WHERE age>33 AND age<=40 | $db->users->find(array("age" => array(‘$gt‘ => 33, ‘$lte‘ => 40))); |
SELECT * FROM users ORDER BY name DESC | $db->users->find()->sort(array("name" => -1)); |
CREATE INDEX myindexname ON users(name) | $db->users->ensureIndex(array("name" => 1)); |
CREATE INDEX myindexname ON users(name,ts DESC) | $db->users->ensureIndex(array("name" => 1, "ts" => -1)); |
SELECT * FROM users WHERE a=1 and b=‘q‘ | $db->users->find(array("a" => 1, "b" => "q")); |
SELECT * FROM users LIMIT 10 SKIP 20 | $db->users->find()->limit(10)->skip(20); |
SELECT * FROM users WHERE a=1 or b=2 | $db->users->find(array(‘$or‘ => array(array("a" => 1), array("b" => 2)))); |
SELECT * FROM users LIMIT 1 | $db->users->find()->limit(1); |
EXPLAIN SELECT * FROM users WHERE z=3 | $db->users->find(array("z" => 3))->explain() |
SELECT DISTINCT last_name FROM users | $db->command(array("distinct" => "users", "key" => "last_name")); |
SELECT COUNT(*y) FROM users | $db->users->count(); |
SELECT COUNT(*y) FROM users where AGE > 30 | $db->users->find(array("age" => array(‘$gt‘ => 30)))->count(); |
SELECT COUNT(AGE) from users | $db->users->find(array("age" => array(‘$exists‘ => true)))->count(); |
UPDATE users SET a=1 WHERE b=‘q‘ | $db->users->update(array("b" => "q"), array(‘$set‘ => array("a" => 1))); |
UPDATE users SET a=a+2 WHERE b=‘q‘ | $db->users->update(array("b" => "q"), array(‘$inc => array("a" => 2))); |
DELETE FROM users WHERE z="abc" |
$db->users->remove(array("z" => "abc")); |