python mongodb在ecshop采集中产生自增auto_increment id

2014-07-25 23:18 来源:www.chinab4c.com 作者:ecshop专家

    python mongodb在ecshop采集中产生自增auto_increment id,这个问题是一个很复杂的问题,我看到很多朋友他们使用python帮助ecshop采集数据到mongodb中,每个数据如何产生自增auto_increment的id的问题。

    之前朋友告诉我,他们是在mysql中先产生id,然后再根据mongodb中的findandmodify方法来通过另外一个ids表来产生ID,有点类似mongodb的update。首先的在ids中增加一条记录。比如name="keywords" id=0

    function init_mongo_command($table = '') {

$instance_ini = &init_mongo();

$instance = $instance_ini->selectCollection('hqchip', $table); 

return $instance;

}

    然后通过findandmodify

     function get_logs_id($cols = 'keywords') {

$instance = init_mongo_command("ids"); 

$retval = $instance->db

  ->command(

array( 

  'findAndModify' => 'ids',

  'query'   => array( 'name' => $cols),

  'update'   => array('$inc' => array('id' => 1)),

  'new'   => true

)

);

/* 返回mongodb产生的唯一值 */

if ($retval['value']['id']) {

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

} else {

return 0;

}

    判断该name="keywords"是否存在,如果存在就返回该自增ID的值,来给需要插入的记录。

    来源:http://www.chinab4c.com