/**
  * 记录VERSION
  * @param unknown $data
  * @param unknown $condition
  */
 function beforeUpdate($data, $condition)
 {
     $data = $this->filterData($data);
     $mo = mongo($this->tbVersion);
     if (!$data) {
         return true;
     }
     foreach ($data as $k => $v) {
         $mo->{$k} = $v;
     }
     $mo->nodeid = $condition['_id'];
     $mo->save();
     return true;
 }
 /**
  * 
  * unique(users,user)
  * @param unknown $value
  * @param unknown $input
  * @param unknown $args
  */
 public function validate_unique($value, $input, $args)
 {
     $tb = $args[0];
     $name = $args[1];
     if (!$tb || !$name) {
         return true;
     }
     $one = mongo($tb)->findOne([$name => $input[$name]]);
     $flag = false;
     $id = $_GET['id'];
     if ($one && $id && $one->id == $id) {
         $flag = true;
     }
     return true;
 }
 /**
  * 分页
  * $data = $this->obj->page([
  *			'url'=>'/posts',
  *			'size'=>10,
  *			'sort'=>[
  *				'created'=>-1
  *			],
  *			'condition'=>[
  *				'status'=>1	
  *			],
  *	]);
  *	return view('post',$data);
  * @param array $par
  */
 public function page($par = [])
 {
     $url = $par['url'] ?: '/posts';
     $size = $par['size'] ?: 10;
     $condition = $par['condition'] ?: [];
     unset($par['url'], $par['size'], $par['condition']);
     $count = mongo($this->tb)->getMapper()->count($condition);
     $pageArray = page($url, $count, $size);
     $data['page'] = $pageArray['link'];
     $mo = mongo($this->tb)->getMapper()->find($condition);
     if ($par) {
         foreach ($par as $k => $v) {
             $mo = $mo->{$k}($v);
         }
     }
     $mo = $mo->skip($pageArray['offset']);
     $mo = $mo->limit($size);
     $data['datas'] = $mo->get();
     $data['count'] = $count;
     return $data;
 }