この記事では主に PHP7:Mongodb API の使い方を紹介しますので、困っている方のお役に立てれば幸いです。
PHP7 Mongdb 拡張機能のコンパイルとインストール
#先安装一个依赖库 yum -y install openldap-devel wget https://pecl.php.net/get/mongodb-1.1.1.tgz /home/server/php7/bin/phpize #根据自己编译的PHP环境而定 ./configure --with-php-config=/home/server/php7/bin/php-config make && make install #如果成功,生成一个mongodb.so扩展在lib/php/extensions/no-debug-non-zts-20151012/
php.ini 構成の変更
extension=mongodb.so
注:
以前のバージョンでは mongo を使用していました.so 拡張子、古い php-mongodb api
は、少なくとも現在では PHP7 ではサポートされなくなりました。
PHP7 をサポートする最新の mongodb は、コンパイル後の API の新しいバージョンのみをサポートします (mongodb > 2.6.X バージョン)
参考資料
GITHUB:
https://github.com/mongodb/
公式ウェブサイト:
http://www.mongodb.org/
PHP公式:
https://pecl.php.net/package/mongodb
http://pecl.php.net/package/mongo [廃止、現在は PHP5.9999 のみをサポート]
API マニュアル:
http://docs.php.net/manual/en/set.mongodb.php
Mongodb API 操作
初期化Mongodb 接続
$manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017"); var_dump($manager); object(MongoDB\Driver\Manager)#1 (3) { ["request_id"]=> int(1714636915) ["uri"]=> string(25) "mongodb://localhost:27017" ["cluster"]=> array(13) { ["mode"]=> string(6) "direct" ["state"]=> string(4) "born" ["request_id"]=> int(0) ["sockettimeoutms"]=> int(300000) ["last_reconnect"]=> int(0) ["uri"]=> string(25) "mongodb://localhost:27017" ["requires_auth"]=> int(0) ["nodes"]=> array(...) ["max_bson_size"]=> int(16777216) ["max_msg_size"]=> int(50331648) ["sec_latency_ms"]=> int(15) ["peers"]=> array(0) { } ["replSet"]=> NULL } }
CURL 操作
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]); $bulk->delete([]); $bulk->insert(['_id' => 1]); $bulk->insert(['_id' => 2]); $bulk->insert(['_id' => 3, 'hello' => 'world']); $bulk->update(['_id' => 3], ['$set' => ['hello' => 'earth']]); $bulk->insert(['_id' => 4, 'hello' => 'pluto']); $bulk->update(['_id' => 4], ['$set' => ['hello' => 'moon']]); $bulk->insert(['_id' => 3]); $bulk->insert(['_id' => 4]); $bulk->insert(['_id' => 5]); $manager = new MongoDB\Driver\Manager('mongodb://localhost:27017'); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); try { $result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern); } catch (MongoDB\Driver\Exception\BulkWriteException $e) { $result = $e->getWriteResult(); // Check if the write concern could not be fulfilled if ($writeConcernError = $result->getWriteConcernError()) { printf("%s (%d): %s\n", $writeConcernError->getMessage(), $writeConcernError->getCode(), var_export($writeConcernError->getInfo(), true) ); } // Check if any write operations did not complete at all foreach ($result->getWriteErrors() as $writeError) { printf("Operation#%d: %s (%d)\n", $writeError->getIndex(), $writeError->getMessage(), $writeError->getCode() ); } } catch (MongoDB\Driver\Exception\Exception $e) { printf("Other error: %s\n", $e->getMessage()); exit; } printf("Inserted %d document(s)\n", $result->getInsertedCount()); printf("Updated %d document(s)\n", $result->getModifiedCount());
クエリ
$filter = array(); $options = array( /* Only return the following fields in the matching documents */ "projection" => array( "title" => 1, "article" => 1, ), "sort" => array( "views" => -1, ), "modifiers" => array( '$comment' => "This is a query comment", '$maxTimeMS' => 100, ), ); $query = new MongoDB\Driver\Query($filter, $options); $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY); $cursor = $manager->executeQuery("databaseName.collectionName", $query, $readPreference); foreach($cursor as $document) { var_dump($document); }
関連する推奨事項: "PHP チュートリアル"
以上がPHP7:Mongodb APIの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
