redis = new Redis_Lite(DI()->config->get('app.redis.servers')); $this->model = new Model_Data(); } /** * 上传数据并保存入redis * @return [type] [description] */ public function upload($data){ $arr = array(); $arr['user_id'] = $data['userid']; $arr['lon'] = $data['lon']; $arr['lat'] = $data['lat']; $arr['address'] = $data['address']; foreach ($data['data'] as $value) { $arr['value'] = $value['value']; $arr['create_time'] = $value['time']; $arr['date'] = date('Y-m-d', strtotime($value)); $this->model->add($arr); if(isset($arr['_id'])) unset($arr['_id']); } return true; //$a = rand(1,100); //DI()->redis->set_lPush('test', $a, 'master'); } public function getList(){ return $this->model->getList(); } /** * 获取用户某个时间段内的数据 * @param [type] $user_id [description] * @param [type] $start_time [description] * @param [type] $end_time [description] * @return [type] [description] */ public function getUserDataList($user_id, $start_time, $end_time){ $result = $this->model->aggregate( array( array( '$match' => array('create_time' => array('$gte' => $start_time.' 00:00:00', '$lte' => $end_time.' 23:59:59'), 'user_id' => $user_id) ), array( '$group' => array('_id' => '$date', 'day' => array('$avg' => '$value')) ), array( '$project' => array('_id' => 0, 'date'=> '$_id', 'day' => 1) ) ) ); print_r($result); die(); return $this->model->getList(array('user_id' => $user_id, 'create_time' => array('$gte' => $start_time, '$lte' => $end_time))); } public function updateTime($data){ $id = $data['_id']; unset($data['_id']); return $this->model->update($data, array('_id' => $id)); } }