MongoDB 教學課程login
MongoDB 教學課程
作者:php.cn  更新時間:2022-04-21 17:49:03

MongoDB PHP


在php中使用mongodb你必須使用 mongodb 的 php驅動器。

MongoDB PHP在各平台上的安裝及驅動程式包下載請查看:PHP安裝MongoDB擴充驅動程式

如果你使用的是 PHP7,請參閱:PHP7 MongoDB 安裝與使用。

確保連接及選擇一個資料庫

為了確保正確連接,你需要指定資料庫名,如果資料庫在mongoDB中不存在,mongoDB會自動建立

程式碼片段如下:

<?php
$m = new MongoClient(); // 连接默认主机和端口为:mongodb://localhost:27017
$db = $m->test; // 获取名称为 "test" 的数据库
?>

建立集合

建立集合的程式碼片段如下:

<?php
$m = new MongoClient(); // 连接
$db = $m->test; // 获取名称为 "test" 的数据库
$collection = $db->createCollection("php");
echo "集合创建成功";
?>

執行上述程序,輸出結果如下:

集合创建成功

#插入文件

在mongoDB中使用insert() 方法插入文件:

插入文件程式碼片段如下:

<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->php; // 选择集合
$document = array( 
	"title" => "MongoDB", 
	"description" => "database", 
	"likes" => 100,
	"url" => "http://www.php.cn/mongodb/",
	"by", "php中文网"
);
$collection->insert($document);
echo "数据插入成功";
?>

執行上述程序,輸出結果如下:

数据插入成功

然後我們在mongo 用戶端使用db.php.find().pretty(); 指令查看資料:


尋找文件

使用find() 方法來讀取集合中的文件。

讀取使用文件的程式碼片段如下:

<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->php; // 选择集合

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

執行上述程序,輸出結果如下:

MongoDB

更新文件

使用update () 方法來更新文件。

以下實例將更新文件中的標題為' MongoDB 教學', 程式碼片段如下:

<pre>
<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->php; // 选择集合
// 更新文档
$collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB 教程")));
// 显示更新后的文档
$cursor = $collection->find();
// 循环显示文档标题
foreach ($cursor as $document) {
	echo $document["title"] . "\n";
}
?>

執行以上程序,輸出結果如下:

MongoDB 教程

然後我們在mongo用戶端使用db.php.find().pretty(); 指令查看資料:


##刪除文件

使用 remove() 方法來刪除文件。

以下實例中我們將移除 'title' 為 'MongoDB 教程' 的一筆資料記錄。 , 程式碼片段如下:

<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->php; // 选择集合
   
// 移除文档
$collection->remove(array("title"=>"MongoDB 教程"), array("justOne" => true));

// 显示可用文档数据
$cursor = $collection->find();
foreach ($cursor as $document) {
	echo $document["title"] . "\n";
}
?>

除了以上實例外,在php中你還可以使用findOne(), save(), limit(), skip(), sort()等方法來操作Mongodb資料庫。

更多的操作方法可以參考 Mongodb 核心類別:

http://php.net/manual/zh/mongo.core.php

#