Heim  >  Artikel  >  php教程  >  Detaillierte Erläuterung der Verwendung der Mongodb-API in PHP7

Detaillierte Erläuterung der Verwendung der Mongodb-API in PHP7

高洛峰
高洛峰Original
2016-12-23 09:26:021497Durchsuche

PHP7 kompilieren und installieren

PHP7 Mongdb-Erweiterung kompilieren und installieren

#Installieren Sie zuerst eine abhängige Bibliothek yum -y install openldap-develwget https://pecl.php.net /get /mongodb-1.1.1.tgz /home/server/php7/bin/phpize #Hängt von der PHP-Umgebung ab, die Sie kompilieren./configure --with-php-config=/home/server/php7/bin/php- config make && make install #Bei Erfolg generieren Sie eine mongodb.so-Erweiterung in lib/php/extensions/no-debug-non-zts-20151012/ und ändern Sie die php.ini-Konfiguration extension=mongodb.so

Hinweis:

Die vorherige Version verwendete die Erweiterung mongo.so und die alte PHP-Mongodb-API
wird in PHP7 nicht mehr unterstützt, zumindest derzeit nicht.
Das neueste Mongodb, das PHP7 unterstützt, unterstützt nur die neue Version der API (Mongodb > 2.6. 🎜>

Offizielle Website:

http://www.mongodb.org/

Offizielle PHP-Website: https://pecl.php.net/package/mongodb http://pecl.php.net/package/mongo [Verlassen, unterstützt derzeit nur PHP5.9999]

API Handbuch: http://docs.php.net/manual/en/set.mongodb.php

Mongodb-API-Betrieb

Mongodb-Verbindung initialisieren

$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-Operation

$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());
Abfrage

$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);}
Der obige Inhalt ist die detaillierte Erklärung der Mongodb-API-Nutzung von PHP7, die Ihnen hoffentlich gefällt.

Ausführlichere Artikel zur Verwendung der Mongodb-API in PHP7 finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn