初识Mongodb之[CURD]-PHP版

WBOY
WBOYオリジナル
2016-06-07 15:56:161089ブラウズ

行动 在了实践之前,希望大家看一下上面的学习资源,了解一下基本操作. 数据连接初始账号密码 账号: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="复制代码">

<?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 $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 $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"));

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。