近有个项目,需要用php操作mongoDb数据,所以了解下mongoDb为此整理了下,常见的操作…… 1.连接MongoDB数据库 $conn = new Mongo(); 其他链接方式 //$conn=new Mongo(); #连接本地主机,默认端口. //$conn=new Mongo(“172.21.15.69″); #连接远程主机 //$conn=new Mongo(“xiaocai.loc:10086″); #连接指定端口远程主机 //$conn=new Mongo(“xiaocai.loc”,arr 在本文中,我们将深入探讨如何使用PHP操作MongoDB数据库,主要涵盖连接数据库、选择数据库与集合、插入数据以及更新数据等基本操作。 1. 连接MongoDB数据库 MongoDB的PHP驱动提供了一种简单的方式来建立连接。以下是一些常用的连接方式: ```php // 连接本地默认端口 $conn = new MongoClient(); // 连接远程主机 $conn = new MongoClient("172.21.15.69"); // 连接指定端口的远程主机 $conn = new MongoClient("xiaocai.loc:10086"); // 使用副本集进行负载均衡 $conn = new MongoClient("xiaocai.loc", array("replicaSet" => true)); // 建立持久连接 $conn = new MongoClient("xiaocai.loc", array("persist" => "t")); // 使用用户名和密码连接 $conn = new MongoClient("mongodb://sa:123@localhost"); // 连接多个服务器 $conn = new MongoClient("mongodb://localhost:27017,localhost:27018"); // 使用域套接字连接 $conn = new MongoClient("mongodb:///tmp/mongo-27017.sock"); // 完整示例,包含用户名、密码、副本集和持久连接 $conn = new MongoClient("mongodb://admin_miss:miss@localhost:27017/test", array('persist' => 'p', "replicaSet" => true)); ``` 2. 选择数据库与集合 连接到MongoDB后,我们可以选择要操作的数据库和集合(在MongoDB中,集合相当于关系数据库中的表): ```php // 选择mydb数据库 $db = $conn->mydb; // 选择myTable集合 $collection = $db->myTable; // 第二种写法 $collection = $db->selectCollection('myTable'); // 更简洁的写法 $collection = $conn->mydb->myTable; ``` 3. 插入数据记录 PHP中插入数据到MongoDB集合有多种方法,包括简单插入和安全插入: ```php // 简单插入 $array = array('column_name' => 'col'.rand(100, 999), 'column_exp' => 'xiaocai'); $result = $collection->insert($array); echo "新记录ID: " . $array['_id']; var_dump($result); // 安全插入,等待MongoDB完成操作以确认成功 $array = array('column_name' => 'col'.rand(100, 999), 'column_exp' => 'xiaocai2'); $result = $collection->insert($array, true); echo "新记录ID: " . $array['_id']; var_dump($result); ``` 4. 更新数据记录 MongoDB提供了丰富的更新操作符,例如`$set`、`$pull`、`$pullAll`、`$pop`和`$inc`等: ```php // 传统更新:使用$set更新指定字段 $where = array('column_name' => 'col123'); $newdata = array('column_exp' => 'GGGGGGG', 'column_fid' => 444); $result = $collection->update($where, array('$set' => $newdata)); // 替换更新:完全替换原有记录 $where = array('column_name' => 'col709'); $newdata = array('column_exp' => 'HHHHHHHHH', 'column_fid' => 123); $result = $collection->update($where, $newdata); ``` 除了这些基础操作,MongoDB还支持查询、删除、聚合等多种功能。例如,可以使用`find()`方法进行查询,`remove()`方法删除记录,以及`aggregate()`方法进行复杂的数据聚合。对于复杂查询,还可以使用`$match`、`$group`、`$sort`、`$limit`等聚合操作符来处理数据。 PHP操作MongoDB提供了灵活且强大的API,使得开发者能够轻松地进行数据管理。在实际项目中,还需要根据具体需求选择合适的操作方式,并注意处理可能的异常情况,确保数据的安全性和完整性。
- 粉丝: 5
- 资源: 938
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助