PHP操作mongo資料庫

2021-08-10 18:07:46 字數 2891 閱讀 8337

$conn=new mongoclient('mongodb://localhost:27017');

//mongodb://username:password@host:port

$db=$conn->chili; //選擇資料庫

$col=$db->test; //選擇集合

$dbs=$conn->listdbs(); //檢視所有的表

$collections=$db->listcollections();

//查詢全部資料

$all=$col->find();

foreach ($all

as$v)

//查詢一條 findone

//設定查詢語句

$query['title']='ddff';

//設定顯示字段

$field=array('_id'=>false,'title'=>true,'value'=>true);

$res=$col->find($query,$field);

foreach ($res

as$v)

//排序

$data=$col->find()->sort(array('value'=>-1));//從大到小,1從小到大

//全部文件數

$data=$col->find()->count();

//var_dump($data);

//limit

$data=$col->find()->sort(array('value'=>-1))->limit(2);

//skip

$data=$col->find()->sort(array('value'=>-1))->skip(2);//跳過前兩個

//skip和limit可結合實現分頁效果

$page=1;

$everypage=2;

$data=$col->find()->sort(array('value'=>-1))->skip(($page-1)*$everypage)->limit($everypage);

//頁碼從第一頁開始

//條件操作符

$query['value']=array('$gte'=>500);//>=500

$field=array('_id'=>false,'title'=>true,'value'=>true);//設定顯示字段

$res=$col->find($query,$field);

//模糊查詢

$query['title']=new mongoregex('/南海/');

$field=array('_id'=>false,'title'=>true,'value'=>true);//設定顯示字段

$res=$col->find($query,$field);

//將查詢結果轉化為陣列

$res=iterator_to_array($res);

var_dump($res);

$data=array(

'title'=>'南海仲裁',

'value'=>585

);$col->insert($data);

/* **** insert第二個引數

$option=array(

'fsync'=> false, 真時,php將會告訴mongodb將當前寫入資料直接寫入硬碟,即使還沒有全部從php文件寫入mongodb資料庫

'j'=> false, 真時,php將會告訴mongodb在資料插入成功之前就將本次修改寫入日誌

'w'=> 1, 0時寫操作將不會被確認

'wtimeout'=>10000,

'timeout'=>10000 客戶端等待伺服器響應的超時時間,也就是如果php的伺服器等待mongodb資料庫寫入資料的時間,如果超過了timeout規定的時間,就算本次寫入失敗

) * /

$data=array('$set'=>array('value'=>800));

$res=$col->update(array('title'=>'南海仲裁'),$data);//只更新了第一條資料

/* **** update第三個引數

$option=array(

'upsert'=>false, true表示如果當前文件存在就更新,不存在就建立

'multiple'=>true, true表示更新所有

'fsync'=>false,

'w'=>1,

'wtimeout'=>10000,

'timeout'=>10000

) */

//********************===

$res=$col->update(array('title'=>'南海仲裁'),$data,array('multiple'=>true));//更新多條資料

var_dump($res);//$res['ok']=1

$res=$col->remove(array('title'=>'ddddg'),array('justone'=>true));

var_dump($res);//$res['ok']=1

/* **** 第二個引數

$option=array(

'justone'=>false, true時只刪除一條

'fsync'=>false,

'w'=>1,

'j'=>false,

'wtimeout'=>10000,

'timeout'=>10000

) */

$conn->close();
會更新補充~

Mongo資料庫操作(三)

開通黃鑽 建立資料庫 use 如何什麼都不幹的話 會被刪除 檢視所有的資料 show dbs 給指定資料庫中新增資料 db.persons.insert 查詢資料庫中所有文件 show collections 查詢指定文件的資料 db.documentname find 查詢第一條資料 db.doc...

php資料庫操作

獲取鏈結 conn mysql connect localhost root root 測試當前連線的預設字符集名稱。charset mysql client encoding conn echo charset echo if conn else 設定gbk 就不會出現亂碼 雖然專案用的是utf ...

php資料庫操作

連線資料庫 header content type text html charset utf 8 define hostname localhost define username bestpool define password 123456 define database guess x co...