首頁  >  文章  >  後端開發  >  php7的mongodb基本用法(程式碼詳解)

php7的mongodb基本用法(程式碼詳解)

藏色散人
藏色散人轉載
2019-04-18 10:11:175780瀏覽

提示: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:連結

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

2:查詢

['$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:新增

 flase]);//如果要改成无序操作则加flase,并行执行
$bulk->insert(['user_id' => 2, 'real_name'=>'中国',]);
$bulk->insert(['user_id' => 3, 'real_name'=>'中国人',]);
$manager->executeBulkWrite('location.box', $bulk); //执行写入 location数据库下的box集合

4:修改##

 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:刪除

#

 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基本用法(程式碼詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除