php mongodb 自增id,mongodb数据库中auto increment 自增

function getNextId($mongo,$name,$param=array()){

$param += array(   //默认ID从1开始,间隔是1

'init' => 1,

'step' => 1,

);

$update =

array('$inc'=>array('id'=>$param['step']));   //设置间隔

$query =

array('name'=>$name);

$command = array(

'findandmodify' => 'ids',

'update' => $update,

'query' => $query,

'new' => true

);

$id = $mongo->db->command($command);

if

(isset($id['value']['id'])) {

return $id['value']['id'];

}else{

$mongo->insert(array(

'name' =>

$name,

'id' => $param['init'],     //设置ID起始数值

));

return $param['init'];

}

}

$mongo =

new Mongo();

$curDB = $mongo->Collection('test', 'ids');

//test库中的ids表

$user = $mongo->selectCollection('test', 'users');

//test库中的users表

$id =

getNextId($curDB,'userid',array('init'=>10000,'step'=>2));   //取得下一条数据的ID

$obj = array("_id"=>$id,"name"=>"tankzhang");

$user->insert($obj);   //插入数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值