Mongo操作教程之PHP扩展

    xiaoxiao2021-03-26  67

    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

    最新回复(0)