广州传奇网络
地址:广州市天河区东圃大马路富华楼C座
电话:13808825895
QQ:1564443073
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的值,来给需要插入的记录。