Mongo操作教程之PHP扩展
接下来我们从命令行和PHP程序两个方面进行对PHP程序对mongodb的连接、增删改查进行详细的讲解与代码实例。 1、首先进行数据库的连接与建立,比如我们默认连接主机和端口为:mongodb://localhost:27017的mongodb,然后创建数据库rision。
程序如下:
<?php
$m = new MongoClient(); // 连接默认主机和端口为:mongodb://localhost:
27017
$db = $m->rision; // 获取名称为
"rision" 的数据库
if($db)
{
echo
"创建成功!";
}
?>
注意:此时在命令行输入:show dbs 或许并没有发现我们创建的rision数据库,别急,这是因为数据库中为空是不显示的。
2、接下来创建集合(数据表)liuxiao
程序如下:
<?php
$m = new MongoClient(); // 连接
$db = $m->rision; // 获取名称为
"rision" 的数据库
$collection = $db->createCollection(
"liuxiao");
echo
"集合创建成功";
?>
此时在命令行输入show dbs,显示结果如下: 3、接下来给集合中插入文档(数据记录行)
程序如下:
<?php
$m = new MongoClient(); // 连接到mongodb
$db = $m->rision; // 选择一个数据库
$collection = $db->liuxiao; // 选择集合
$document = array(
"title" =>
"MongoDB",
"description" =>
"database",
"likes" =>
100,
"url" =>
"http://blog.csdn.net/rision666/article/details/56276655",
"by"=>
"shenggeweida"
);
$collection->insert($document);
echo
"数据插入成功";
?>
我们在命令行可以查看我们成功插入的数据,在命令行输入命令: db.liuxiao.find().pretty(),运行如下: 4、然后我们进行简单的查找文档(数据记录行)功能
程序如下:
<?php
$m = new MongoClient(); // 连接到mongodb
$db = $m->rision; // 选择一个数据库
$collection = $db->liuxiao; // 选择集合
$cursor = $collection->find();
// 迭代显示文档标题
foreach ($cursor
as $document) {
echo $document[
"title"] .
"\n";
}
?>
我们还可以进行复杂一点的操作,这里我们举个例子,关于更加复杂的操作我们这里不做讲解。假如我们有个数据库school,然后里面有一个集合student,里面有stu_id、stu_name、age、class_id共5个字段,我们在命令行输入以下命令插入几组数据
db.student.insert({
"stu_id":
1,
"stu_name":
"张三",
"age":
6,
"class_id":
1,});
插入几组数据后可以通过db.student.find()查看数据 然后我们现在需要查询0<=stu_id<=20的数据
程序如下:
<?php
// 链接服务器
$m = new MongoClient();
// 选择一个数据库
$db = $m->school;
// 选择一个集合( Mongo 的“集合”相当于关系型数据库的“表”)
$collection = $db->student;
$fruitQuery = array(
'stu_id' => array(
'$gte'=>
0,
'$lte'=>
22)); //设置查询条件
$field=array(
'_id'=>
0);//设置显示字段
$res=$collection->find($fruitQuery,$field);
foreach ($res
as $stu) {
var_dump($stu);
}
运行结果如下: 5、接下类我们介绍更新文档(数据记录行)操作,直接上代码
程序如下:
<?php
$m = new MongoClient(); // 连接到mongodb
$db = $m->rision; // 选择一个数据库
$collection = $db->liuxiao; // 选择集合
// 更新文档
$collection->update(array(
"title"=>
"MongoDB"), array(
'$set'=>array(
"title"=>
"MongoDB 教程")));
// 显示更新后的文档
$cursor = $collection->find();
// 循环显示文档标题
foreach ($cursor
as $document) {
echo $document[
"title"] .
"\n";
}
?>
而后在命令行执行db.liuxiao.find().pretty(),查看以上代码运行后的结果,运行结果如下: 6、删除文档(数据记录行)操作
程序如下:
<?php
$m = new MongoClient(); // 连接到mongodb
$db = $m->rision; // 选择一个数据库
$collection = $db->liuxiao; // 选择集合
// 移除文档
$collection->remove(array(
"title"=>
"MongoDB 教程"), array(
"justOne" => true));
// 显示可用文档数据
$cursor = $collection->find();
foreach ($cursor
as $document) {
echo $document[
"title"] .
"\n";
}
?>
以上只是入门级别的一些简单操作,所有复杂的东西都是建立在一点一滴的基础之上的,相信掌握了这些你再操作mongodb已不是问题了!
转载请注明原文地址: https://ju.6miu.com/read-358309.html