溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么在thinkPHP5框架中安裝mongodb擴(kuò)展

發(fā)布時(shí)間:2021-04-07 16:48:21 來(lái)源:億速云 閱讀:227 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么在thinkPHP5框架中安裝mongodb擴(kuò)展,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

首先安裝官方的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) "三殺"
      }
    }
  }
}

上述就是小編為大家分享的怎么在thinkPHP5框架中安裝mongodb擴(kuò)展了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI