Home  >  Article  >  Backend Development  >  Detailed explanation of the use of Mongodb API in PHP7, _PHP tutorial

Detailed explanation of the use of Mongodb API in PHP7, _PHP tutorial

WBOY
WBOYOriginal
2016-07-12 09:02:55912browse

Detailed explanation of Mongodb API usage in PHP7,

Compile and install PHP7

Compile and install PHP7 Mongdb extension

#First install a dependent library yum -y install openldap-develwget https://pecl.php.net/get/mongodb-1.1.1.tgz /home/server/php7/bin/phpize #Compile based on your own Depends on the PHP environment./configure --with-php-config=/home/server/php7/bin/php-config make && make install#If successful, generate a mongodb.so extension in lib/php/extensions/no- debug-non-zts-20151012/Modify php.ini configuration extension=mongodb.so

Note:

The previous version used the mongo.so extension and the old php-mongodb api
It is no longer supported in PHP7, at least not yet.
The latest mongodb that supports PHP7 is compiled and only supports the new version of the API (mongodb > 2.6.X version)

Reference materials

GITHUB: https://github.com/mongodb/

Official website:

http://www.mongodb.org/

PHP official: https://pecl.php.net/package/mongodb http://pecl.php.net/package/mongo [Abandoned, currently only supports PHP5.9999]

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

Mongodb API operations

Initialize Mongodb connection

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

Query

$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);}

The above content is a detailed explanation of the use of Mongodb API in PHP7 shared by the editor. I hope you will like it.

Articles you may be interested in:

  • php extension to mongodb (newbie)
  • php extension to mongodb (first acquaintance)
  • PHP Operations on MongoDB [NoSQL] database
  • Basic tutorial on MongoDB operation with PHP (connection, new addition, modification, deletion, query)
  • Sharing of MongoDB database operation classes implemented in PHP
  • Efficient mongodb PHP paging class (without using skip)
  • Thinkphp uses mongodb database to implement multi-condition query methods
  • Examples of operations such as connection, addition, modification, query, and deletion of MongoDB database in PHP
  • centos yum installs mongodb and php extensions
  • Mongodb group operation example in PHP
  • Migrate the PHP version to PHP7
  • php implements Mongodb custom generation Method of self-increasing ID
  • Notes on PHP7.0 version
  • Compilation of PHP7.0 installation notes
  • A brief discussion of the major new features of php7
  • PHP7 official version Tested, the performance is amazing!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1084515.htmlTechArticleDetailed explanation of the use of Mongodb API in PHP7, compile and install PHP7 Compile and install PHP7 Mongdb extension #First install a dependent library yum -y install openldap-develwget https://pecl.php.net/get/mongodb-1.1.1.t...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn