W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在初始驅(qū)動(dòng)程序設(shè)置之后,我們將繼續(xù)解釋如何獲得 從MongoDB驅(qū)動(dòng)和對(duì)應(yīng)的用戶空間庫(kù)開(kāi)始編寫 我們的第一個(gè)項(xiàng)目。
我們?nèi)匀恍枰惭b的最后一件事才能開(kāi)始使用應(yīng)用程序 本身,就是PHP庫(kù)。
該庫(kù)需要使用 ? Composer(包管理器)進(jìn)行安裝 對(duì)于PHP。在各種平臺(tái)上安裝 Composer 的說(shuō)明可能是 在其網(wǎng)站上找到。
通過(guò)運(yùn)行以下命令安裝庫(kù):
$ composer require mongodb/mongodb
它將輸出類似于以下內(nèi)容的內(nèi)容:
./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) - Installing mongodb/mongodb (1.0.0) Downloading: 100% Writing lock file Generating autoload files
Composer 將創(chuàng)建多個(gè)文件:、 和一個(gè)目錄,該目錄將 包含庫(kù)和項(xiàng)目可能需要的任何其他依賴項(xiàng)。composer.jsoncomposer.lockvendor
除了管理您的依賴項(xiàng)外,Composer 還將為您提供 使用自動(dòng)加載器(用于這些依賴項(xiàng)的類)。確保它是 包含在腳本開(kāi)頭或應(yīng)用程序的引導(dǎo)程序中 法典:
<?php
// This path should point to Composer's autoloader
require 'vendor/autoload.php';
完成此操作后,您現(xiàn)在可以使用 ? 庫(kù)文檔中描述的任何功能。
如果您使用過(guò)其他語(yǔ)言的 MongoDB 驅(qū)動(dòng)程序,則庫(kù)的 API 應(yīng)該看起來(lái)很熟悉。它包含一個(gè)用于連接到 MongoDB 的 客戶端類,一個(gè)用于數(shù)據(jù)庫(kù)級(jí)操作(例如命令、集合管理)的 ? 數(shù)據(jù)庫(kù)類, 以及用于集合級(jí)操作的 集合類(例如 CRUD 方法、索引管理)。
例如,以下是將文檔插入演示數(shù)據(jù)庫(kù)的 beers 集合的方法:
<?php
require 'vendor/autoload.php'; // include Composer's autoloader
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;
$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
echo "Inserted with Object ID '{$result->getInsertedId()}'";
?>
由于插入的文檔不包含字段,因此 驅(qū)動(dòng)程序?qū)?nbsp;服務(wù)器用作 .此值也可用于 調(diào)用方通過(guò)方法返回的結(jié)果對(duì)象。_id_idinsertOne
插入后,您可以查詢剛剛插入的數(shù)據(jù)。 為此,您可以使用返回可迭代對(duì)象的方法 光標(biāo):find
<?php
require 'vendor/autoload.php'; // include Composer's autoloader
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;
$result = $collection->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
foreach ($result as $entry) {
echo $entry['_id'], ': ', $entry['name'], "\n";
}
?>
雖然在示例中可能并不明顯,但 BSON 文檔和數(shù)組是 默認(rèn)情況下,在庫(kù)中未序列化為類型類。這些類確保 該值在序列化回 BSON 時(shí)保留其類型,這 避免了舊驅(qū)動(dòng)程序中的警告,即數(shù)組可能會(huì)變成文檔, 反之亦然。此外,這些類型類擴(kuò)展了 ArrayObject 以增強(qiáng)可用性。您可以找到更多 有關(guān)如何在 PHP 變量之間進(jìn)行序列化和反序列化的信息 BSON 由驅(qū)動(dòng)程序和庫(kù)通過(guò)讀取持久數(shù)據(jù)規(guī)范進(jìn)行處理。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: