数组查询PHP + mongoDB - 投票系统ips

时间:2011-05-02 14:12:00

标签: php arrays mongodb voting

你能帮我吗?我正在使用php + mongodb制作我的投票系统,我想保留已经投票的IP地址。什么是最好的方式? 我正在考虑这样做:

$ip=$_SERVER['REMOTE_ADDR'];
$ipData = array('$push' => array('ips' => $ip), '$inc' => array('votes' => 1));
$collection->update(array( '_id' => $id), $ipData);

这是最好的方法吗?你如何比较ips数组的所有元素,看看ip是否已经投票?该列表看起来像(192.168.0.1, 127.0.0.1, 123.45.67.8)

谢谢!

2 个答案:

答案 0 :(得分:2)

使用Unique IndexUPSERT

$collection->ensureIndex(array('ips'), array('unique' => true));

答案 1 :(得分:-3)

使用PHP函数in_array()

将用户的ip与IP数组进行比较

http://php.net/manual/en/function.in-array.php