TP5(thinkPHP5)框架mongodb擴(kuò)展安裝及特殊操作示例
本文實(shí)例講述了TP5(thinkPHP5)框架mongodb擴(kuò)展安裝及特殊操作。分享給大家供大家參考,具體如下:
ThinkPHP 5.0 MongoDb驅(qū)動(dòng)
首先安裝官方的mongodb擴(kuò)展:
http://pecl.php.net/package/mongodb
找到對(duì)應(yīng)的php版本的擴(kuò)展
然后,配置應(yīng)用的數(shù)據(jù)庫(kù)配置文件database.php的type參數(shù)為:
'type' => '\think\mongo\Connection',
即可正常使用MongoDb,例如:
使用最新mongodb擴(kuò)展
Db::name('demo')
->find();
Db::name('demo')
->field('id,name')
->limit(10)
->order('id','desc')
->select();
或者使用模型操作:
User::get(1);
User::all('1,2,3');
MongoDb默認(rèn)的主鍵是_id并且是一個(gè)ObjectID對(duì)象,如果需要和mysql一樣使用id作為主鍵,可以如下參數(shù):
// 強(qiáng)制把_id轉(zhuǎn)換為id 'pk_convert_id' => true,
tp5 Mongodb特殊操作
Push操作
添加數(shù)據(jù)
public function add(){
$this->data = [
'作者' => 'tuzi',
'年齡' => '22',
'標(biāo)題' => '防塔與補(bǔ)兵',
'評(píng)論' => [
[
'序號(hào)' => '001',
'內(nèi)容' => '五殺'
]
]
];
$res = Db::table('document')->insert($this->data);
if($res){
echo "success";
}else{
echo "error";
}
}
結(jié)果
array(1) {
[0] => array(5) {
["_id"] => object(MongoDB\BSON\ObjectId)#12 (1) {
["oid"] => string(24) "5a51f73083869e4b65549c36"
}
["作者"] => string(4) "tuzi"
["年齡"] => string(2) "22"
["標(biāo)題"] => string(15) "防塔與補(bǔ)兵"
["評(píng)論"] => array(1) {
[0] => array(2) {
["序號(hào)"] => string(3) "001"
["內(nèi)容"] => string(6) "五殺"
}
}
}
}
利用push更新數(shù)據(jù)
public function update()
{
$update_data['評(píng)論'] = [
'$push',
[
'序號(hào)' => '002',
'內(nèi)容' => '三殺'
]
];
$update_res = Db::table('document')->where('標(biāo)題','防塔與補(bǔ)兵')->update($update_data);
if($update_res){
echo "success";
}else{
echo "error";
}
}
結(jié)果
array(1) {
[0] => array(5) {
["_id"] => object(MongoDB\BSON\ObjectId)#12 (1) {
["oid"] => string(24) "5a51f73083869e4b65549c36"
}
["作者"] => string(4) "tuzi"
["年齡"] => string(2) "22"
["標(biāo)題"] => string(15) "防塔與補(bǔ)兵"
["評(píng)論"] => array(2) {
[0] => array(2) {
["序號(hào)"] => string(3) "001"
["內(nèi)容"] => string(6) "五殺"
}
[1] => array(2) {
["序號(hào)"] => string(3) "002"
["內(nèi)容"] => string(6) "三殺"
}
}
}
}
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php對(duì)接java現(xiàn)實(shí)加簽驗(yàn)簽的實(shí)例
下面小編就為大家?guī)?lái)一篇php對(duì)接java現(xiàn)實(shí)加簽驗(yàn)簽的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
Thinkphp5.1獲取項(xiàng)目根目錄以及子目錄路徑的方法實(shí)例講解
這篇文章主要介紹了Thinkphp5.1獲取項(xiàng)目根目錄以及子目錄路徑的方法實(shí)例講解,希望正在學(xué)習(xí)TP框架的同學(xué)可以跟著小編一起來(lái)學(xué)習(xí)研究下2021-03-03
Zend Framework 2.0事件管理器(The EventManager)入門教程
這篇文章主要介紹了Zend Framework 2.0事件管理器(The EventManager)入門教程,本文包含快速入門例子、EventManager的選項(xiàng)和方法等,需要的朋友可以參考下2014-08-08
推薦一款PHP+jQuery制作的列表分頁(yè)的功能模塊
作者寫博目的是記錄開發(fā)過(guò)程,積累經(jīng)驗(yàn),便于以后工作參考。本文主要是記錄了制作PHP+jQuery 支持 url 分頁(yè) / ajax 分頁(yè) 的列表分頁(yè)類的過(guò)程,有需要的朋友可以參考下2014-10-10
關(guān)于Yii2框架跑腳本時(shí)內(nèi)存泄漏問(wèn)題的分析與解決
這篇文章主要給大家介紹了關(guān)于Yii2框架跑腳本時(shí)內(nèi)存泄漏問(wèn)題的分析與解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Yii2具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
淺析THINKPHP的addAll支持的最大數(shù)據(jù)量
這篇文章主要介紹了THINKPHP的addAll支持的最大數(shù)據(jù)量,需要的朋友可以參考下2015-02-02
ThinkPHP模板中數(shù)組循環(huán)實(shí)例
這篇文章主要介紹了ThinkPHP模板中數(shù)組循環(huán),以實(shí)例形式展示了ThinkPHP采用foreach標(biāo)簽循環(huán)輸出數(shù)組的方法,需要的朋友可以參考下2014-10-10
一個(gè)好用的PHP驗(yàn)證碼類實(shí)例分享
這篇文章主要介紹了一個(gè)好用的PHP驗(yàn)證碼類實(shí)例,有需要的朋友可以參考一下2013-12-12

