首页 > 数据库 >无涯教程-MongoDB - PHP

无涯教程-MongoDB - PHP

时间:2023-11-04 13:31:57浏览次数:44  
标签:successfully Database MongoDB selected 无涯 echo PHP mydb

要将MongoDB与PHP一起使用,您需要使用MongoDB PHP驱动程序,从URL下载PHP驱动程序,确保下载最新版本,现在解压缩并将php_mongo.dll放入您的PHP扩展目录(默认为" ext"),并将以下行添加到php.ini文件中-

extension=php_mongo.dll

连接数据库

要创建连接,您需要指定数据库名称,如果数据库不存在,则MongoDB会自动创建它。

以下是连接到数据库的代码片段-

<?php
   //连接到MongoDB.
   $m = new MongoClient();
	
   echo "Connection to database successfully";
   //选择一个数据库
   $db = $m->mydb;
	
   echo "Database mydb selected";
?>

执行程序时,将产生以下输出-

Connection to database successfully
Database mydb selected

创建集合

以下是创建集合的代码片段-

<?php
   //连接到MongoDB.
   $m = new MongoClient();
   echo "Connection to database successfully";
	
   //选择一个数据库
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->createCollection("mycol");
   echo "Collection created succsessfully";
?>

执行程序时,将产生以下输出-

Connection to database successfully
Database mydb selected
Collection created succsessfully

插入数据

要将文档插入MongoDB,请使用 insert()方法。

<?php
   //连接到MongoDB.
   $m = new MongoClient();
   echo "Connection to database successfully";
	
   //选择一个数据库
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";
	
   $document = array( 
      "title" => "MongoDB", 
      "description" => "database", 
      "likes" => 100,
      "url" => "http://www.learnfk.com/mongodb/",
      "by" => "Learnfk point"
   );
	
   $collection->insert($document);
   echo "Document inserted successfully";
?>

执行程序时,将产生以下输出-

Connection to database successfully
Database mydb selected
Collection selected succsessfully
Document inserted successfully

查找数据

要从集合中选择所有文档,请使用find()方法。

<?php
   //连接到MongoDB.
   $m = new MongoClient();
   echo "Connection to database successfully";
	
   //选择一个数据库
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";

   $cursor = $collection->find();
   //迭代游标以显示文档的标题
	
   foreach ($cursor as $document) {
      echo $document["title"] . "\n";
   }
?>

执行程序时,将产生以下输出-

Connection to database successfully
Database mydb selected
Collection selected succsessfully {
   "title": "MongoDB"
}

更新数据

要更新文档,您需要使用update()方法。

在以下示例中,无涯教程将插入文档的标题更新为 MongoDB Tutorial 。

<?php
   //连接到MongoDB.
   $m = new MongoClient();
   echo "Connection to database successfully";
	
   //选择一个数据库
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";

   //现在更新文档
   $collection->update(array("title"=>"MongoDB"), 
      array('$set'=>array("title"=>"MongoDB Tutorial")));
   echo "Document updated successfully";
	
   //现在显示更新的文档
   $cursor = $collection->find();
	
   //迭代游标以显示文档的标题
   echo "Updated document";
	
   foreach ($cursor as $document) {
      echo $document["title"] . "\n";
   }
?>

执行程序时,将产生以下输出-

Connection to database successfully
Database mydb selected
Collection selected succsessfully
Document updated successfully
Updated document {
   "title": "MongoDB Tutorial"
}

删除数据

要删除文档,您需要使用remove()方法。

在以下示例中,无涯教程将删除标题为 MongoDB Tutorial 的文档。

<?php
   //连接到MongoDB.
   $m = new MongoClient();
   echo "Connection to database successfully";
	
   //选择一个数据库
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";
   
   //现在删除该文件
   $collection->remove(array("title"=>"MongoDB Tutorial"),false);
   echo "Documents deleted successfully";
   
   //现在显示可用的文件
   $cursor = $collection->find();
	
   //迭代游标以显示文档的标题
   echo "Updated document";
	
   foreach ($cursor as $document) {
      echo $document["title"] . "\n";
   }
?>

执行程序时,将产生以下输出-

Connection to database successfully
Database mydb selected
Collection selected succsessfully
Documents deleted successfully

在上面的示例中,第二个参数是布尔类型,用于 remove()方法的 justOne 字段。

其余MongoDB方法 findOne(),save(),limit(),skip(),sort()等的工作原理与上述相同。

参考链接

https://www.learnfk.com/mongodb/mongodb-php.html

标签:successfully,Database,MongoDB,selected,无涯,echo,PHP,mydb
From: https://blog.51cto.com/u_14033984/8182050

相关文章

  • 无涯教程-MongoDB - 复制数据
    复制是跨多个服务器同步数据的过程,复制提供了冗余,并通过不同数据库服务器上的多个数据副本提高了数据可用性,复制可防止数据库丢失单个服务器。复制还允许您从硬件故障和服务中断中恢复,使用其他数据副本,您可以将其专用于灾难恢复,报告或备份。复制工作方式MongoDB通过使用副本集......
  • 无涯教程-MongoDB - Java
    在本章中,无涯教程将学习如何设置MongoDBJDBC驱动程序。安装驱动在Java程序中开始使用MongoDB之前,需要确保在计算机上设置了MongoDBJDBC驱动程序和Java,您可以检查Java教程以在计算机上安装Java。现在,让无涯教程检查如何设置MongoDBJDBC驱动程序。您需要从路径下载 jarmong......
  • 无涯教程-MongoDB - 投影语句
    在MongoDB中,投影(Projection)意味着仅选择必要的数据,而不是选择全部数据,如果文档有5个字段,而只需要显示3个字段,则从中选择3个字段。find()方法MongoDB的find()方法在MongoDB查询文档中进行了解释,该方法接受第二个可选参数是您要检索的字段列表,在MongoDB中,执行find()方法时......
  • 无涯教程-MongoDB - 限制查询
    在本章中,无涯教程将学习如何使用MongoDB限制记录。要限制MongoDB中的记录,您需要使用limit()方法,该方法接受一个数字类型参数,该参数是您要显示的文档数。Limiting-语法limit()方法的基本语法如下->db.COLLECTION_NAME.find().limit(NUMBER)Limiting-示例考虑收集myyco......
  • 无涯教程-MongoDB - 排序数据
    在本章中,无涯教程将学习如何在MongoDB中对记录进行排序。要在MongoDB中对文档进行排序,您需要使用sort()方法,要指定排序顺序,请使用1和-1。1表示升序,-1表示降序。Sorting-语法sort()方法的基本语法如下->db.COLLECTION_NAME.find().sort({KEY:1})Sorting-示例考虑收集......
  • [网鼎杯 2020 朱雀组]phpweb
    [BJDCTF2020]Themysteryofip非预期这题看着就不简单,页面总是刷新,报错都看不清,bp抓包看看。bp抓到的包是一个用POST传参的传参的值为一个函数,试着修改一下这个函数,看看会有什么变化,输入system发现被过滤了,八成这个waf做得很完善,但正好之前看到一个骚姿势,可以使用\system,php......
  • 无涯教程-MongoDB - 删除数据
    在本章中,无涯教程将学习如何使用MongoDB删除文档。remove()方法MongoDB的remove()方法用于从集合中删除文档,remove()方法接受两个参数。第一个是删除条件,第二个是justOne标志。deletion - (可选)根据文档的删除条件。justOne  - (可选)如果设置为true或1,则仅删......
  • 无涯教程-MongoDB - 更新数据
    MongoDB的update()和save()方法用于将文档更新为集合,update()方法更新现有文档值,而save()方法将现有文档替换为save()方法中传递的文档。MongoDBUpdate()方法update()方法更新现有文档中的值。>db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA)考虑到mycol集......
  • 无涯教程-MongoDB - 查询数据
    在本章中,无涯教程将学习如何从MongoDB集合中查询文档。find()方法要查询MongoDB集合中的数据,您需要使用MongoDB的find()方法。find()方法的基本语法如下->db.COLLECTION_NAME.find()find()方法将以非结构化方式显示所有文档。pretty()方法要以格式化的方式显示输出,可以......
  • 无涯教程-MongoDB - 插入数据
    在本章中,无涯教程将学习如何在MongoDB集合中插入文档。要将数据插入MongoDB集合,您需要使用MongoDB的insert()或save()方法。Insert-语法insert()命令的基本语法如下:>db.COLLECTION_NAME.insert(document)Insert-示例1>db.mycol.insert({_id:ObjectId(7df78ad8......