MENU

Mongodb 自动增长 自增id 实现

June 6, 2020 • 已被 232 位童鞋围观过 • Mongo

参考自 http://www.dotcoo.com/post-39.html 结合自己使用的库 整合了一下。
一个简单的php7+mongodb封装类 代码已经更新,下载的文件没有更新,请直接Copy代码。
新增 统计 自增长

# Mongodb使用findAndModify自增长ID

注:因为findAndModify是一个方法完成更新查找两个操作,所以具有原子性,多线程不会冲突。
封装函数部分新增(源文件已经更新)

function autoid($aid, $collname){
    $update     = array('$inc'=>array("id"=>1));
    $query      = array('tid'=>$aid);
    $command    = array(
        'findandmodify'=>$collname,
        'update'=>$update,
        'query'=>$query, 
        'new'=>true, 
        'upsert'=>true
    );
    return $this->command($command);
}

自增长函数 需要新建

//自增长ID
function Get_ID($tid, $table){
    //$tid 是插入数值
    //table是插入的集合名字
    $db = m_mgdb::i("mdb");
    $rs = $db->autoid($tid, $table);
    $info=$rs->toArray();
    $data=Json($info[0]);
    return $data['value']['id'];
}
Last Modified: September 28, 2023