我正在运行以下代码并且它运行良好,如果不存在记录,则会创建一个新代码.我要做的是修改这个查询,以便’v’字段也增加1,但我没有运气.有人可以帮我吗?
$result = $collection->update(
array('k'=>md5(SITE_ID.'-'.$_SERVER['HTTP_X_FORWARDED_FOR'])),
array('$set'=>
array(
'k'=>md5(SITE_ID.'-'.$_SERVER['HTTP_X_FORWARDED_FOR']), 'st'=>SITE_ID,
'ur'=>$_GET['u'],
'ts'=>time(),
'dt'=>date('Ymd'),
'ur'=>$_GET['p'],
'v'=>1
),
array(
'$inc' => array('v' => 1)
),
),
array('upsert'=>true)
);
解决方法:
将$set和$inc放在一个对象中:
$result = $collection->update(
array('k'=>md5(SITE_ID.'-'.$_SERVER['HTTP_X_FORWARDED_FOR'])),
array(
'$set'=> array(
'k'=>md5(SITE_ID.'-'.$_SERVER['HTTP_X_FORWARDED_FOR']), 'st'=>SITE_ID,
'ur'=>$_GET['u'],
'ts'=>time(),
'dt'=>date('Ymd'),
'ur'=>$_GET['p']
),
'$inc' => array('v' => 1)
),
array('upsert'=>true)
);