PHP7之Mongodb API使用详解

转载 2016年08月30日 17:26:00

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

相关文章推荐

php7使用MongoDB

安装打开网址: https://pecl.php.net/package/mongodb 选择适合自己的版本 打开php.ini 添加extension=php_mongodb.dll查看是否安装...

php7 mongoDB 简单封装

php7 mongoDB 3.2+ 简单封装 mongoDB 简单 封装 及 增,删,改,查,正则等 调用示例 注意:支持 mongoDB 3.2+...

php7中使用mongoDB的聚合操作对数据进行分组求和统计操作

本文将介绍mongoDB使用aggregate对数据分组,求和。给出shell命令行写法,php7中的写法,也将给出相同数据结构mysql命令行写法。 mongoDB collection a_t...

php操作mongodb类和实例

近来学习了mongodb,刚好是做php开发的,随便写了php操作mongodb的封装类.

PHP7 操作MongoDB

1.使用$inc,实现数值叠加 $updateUser = [ '$inc'=>[ "total_amou...

PHP7 连接 MongoDB 语法如下

PHP7 连接 MongoDB 语法如下: $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); 插入数据 ...

PHP7:Mongodb API使用

编译安装PHP7 参考上一篇介绍: http://blog.csdn.net/liuxinmingcode/article/details/50319145 编译安装PHP7 Mongdb扩展 ...

PHP 操作mongodb api大部分方法

php /* PHP mongodb * 全部curd操作 * @author:xiaojiang * @date: 2014-10-27 */ //查看 mongo类版本 1.30 以后...
  • Meseal
  • Meseal
  • 2016年08月05日 12:31
  • 131

MongoDB PHP API 及用法

MongoDB PHP API 及用法 文章作者:新浪博客 | 更新日期:2010-11-20 0:00:00 | 浏览(7)人次 | 好评(0)人次 | 差评(0)人次 MongoDB PH...
  • samxx8
  • samxx8
  • 2011年10月24日 08:39
  • 447
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP7之Mongodb API使用详解
举报原因:
原因补充:

(最多只允许输入30个字)