中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php7中mongodb的使用方法

發布時間:2020-10-10 18:16:23 來源:億速云 閱讀:264 作者:小新 欄目:編程語言

php7中mongodb的使用方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

提示:PHP的mongodb擴展,從5.6開始已經廢棄了原來的mongo擴展,PHP7的pecl下載地址:https://pecl.php.net/package/mongodb,或者選擇mongodb官方開發:https://github.com/mongodb/mongo-php-library,git上的這個支持以前mongo寫法,pecl上的mongodb不支持以前的寫法。

下面用PHP7新的API總結一下:

一:CURD

1:鏈接

<?php
//鏈接mongodb
$manager = new MongoDB\Driver\Manager('mongodb://root:123@10.10.10.104:27017');

root 用戶;123:密碼;如果沒有密碼則不寫

2:查詢

<?php

//鏈接mongodb
$manager = new MongoDB\Driver\Manager('mongodb://root:sjhc168@10.10.10.104:27017');

//查詢
$filter =  ['user_id'=>['$gt'=>0]]; //查詢條件 user_id大于0
$options = [
   'projection' => ['_id' => 0], //不輸出_id字段
   'sort' => ['user_id'=>-1] //根據user_id字段排序 1是升序,-1是降序
];
$query = new MongoDB\Driver\Query($filter, $options); //查詢請求
$list = $manager->executeQuery('location.box',$query); // 執行查詢 location數據庫下的box集合


foreach ($list as $document) {
    print_r($document); 
}

查詢更多條件使用方法,參考第二節mongodb基本命令,查詢

3:添加

<?php

//鏈接mongodb
$manager = new MongoDB\Driver\Manager('mongodb://root:sjhc168@10.10.10.104:27017');

$bulk = new MongoDB\Driver\BulkWrite; //默認是有序的,串行執行
//$bulk = new MongoDB\Driver\BulkWrite(['ordered' => flase]);//如果要改成無序操作則加flase,并行執行
$bulk->insert(['user_id' => 2, 'real_name'=>'中國',]);
$bulk->insert(['user_id' => 3, 'real_name'=>'中國人',]);
$manager->executeBulkWrite('location.box', $bulk); //執行寫入 location數據庫下的box集合

4:修改

<?php

//鏈接mongodb
$manager = new MongoDB\Driver\Manager('mongodb://root:sjhc168@10.10.10.104:27017');

$bulk = new MongoDB\Driver\BulkWrite; //默認是有序的,串行執行
//$bulk = new MongoDB\Driver\BulkWrite(['ordered' => flase]);//如果要改成無序操作則加flase,并行執行
$bulk->update(
	['user_id' => 2],
	['$set'=>['real_name'=>'中國國']
]); 
//$set相當于mysql的 set,這里和mysql有兩個不同的地方,
//1:字段不存在會添加一個字段;
//2:mongodb默認如果條件不成立,新增加數據,相當于insert


//如果條件不存在不新增加,可以通過設置upsert
//db.collectionName.update(query, obj, upsert, multi);

$bulk->update(
	['user_id' => 5],
	[
		'$set'=>['fff'=>'中國國']
	],
	['multi' => true, 'upsert' => false] 
	//multi為true,則滿足條件的全部修改,默認為true,如果改為false,則只修改滿足條件的第一條
	//upsert為 treu:表示不存在就新增
);
$manager->executeBulkWrite('location.box', $bulk); //執行寫入 location數據庫下的box集合

ordered 設置

1:默認是ture,按照順序執行插入更新數據,如果出錯,停止執行后面的,mongo官方叫串行。
2:如果是false,mongo并發的方式插入更新數據,中間出現錯誤,不影響后續操作無影響,mongo官方叫并行

5:刪除

<?php

//鏈接mongodb
$manager = new MongoDB\Driver\Manager('mongodb://root:sjhc168@10.10.10.104:27017');

$bulk = new MongoDB\Driver\BulkWrite; //默認是有序的,串行執行
//$bulk = new MongoDB\Driver\BulkWrite(['ordered' => flase]);//如果要改成無序操作則加flase,并行執行
$bulk->delete(['user_id'=>5]);//刪除user_id為5的字段
$manager->executeBulkWrite('location.box', $bulk); //執行寫入 location數據庫下的box集合

delete還可以通過limit設置不同刪除方式

$bulk->delete(['user_id' => 1], ['limit' => 1]);   // limit 為 1 時,刪除第一條匹配數據
$bulk->delete(['user_id' => 2], ['limit' => 0]);   // limit 為 0 時,刪除所有匹配數據,默認刪除所有

6:捕獲異常

MongoDB\Driver\Exception\AuthenticationException
MongoDB\Driver\Exception\BulkWriteException
MongoDB\Driver\Exception\ConnectionException
MongoDB\Driver\Exception\ConnectionTimeoutException
MongoDB\Driver\Exception\Exception //所有驅動程序異常的公共接口
MongoDB\Driver\Exception\ExecutionTimeoutException
MongoDB\Driver\Exception\InvalidArgumentException
MongoDB\Driver\Exception\LogicException
MongoDB\Driver\Exception\RuntimeException
MongoDB\Driver\Exception\SSLConnectionException
MongoDB\Driver\Exception\UnexpectedValueException
MongoDB\Driver\Exception\WriteException

說明:http://php.net/manual/zh/class.mongodb-driver-exception-authenticationexception.php

感謝各位的閱讀!看完上述內容,你們對php7中mongodb的使用方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渭南市| 莆田市| 盘锦市| 舞阳县| 称多县| 同心县| 乳源| 濮阳市| 贵溪市| 喀什市| 桂平市| 盐城市| 青海省| 濮阳县| 奎屯市| 分宜县| 中宁县| 固阳县| 长岛县| 嘉峪关市| 额济纳旗| 宜宾县| 吐鲁番市| 光泽县| 安仁县| 淳化县| 吉木萨尔县| 手游| 卢湾区| 平原县| 湖口县| 乐陵市| 淮阳县| 古交市| 奎屯市| 巩义市| 德安县| 凉城县| 理塘县| 万安县| 榕江县|