public function nearPoint($field, $longitude, $latitude, $distance)
    {
        $point = new \GeoJson\Geometry\Point(array(
            (float) $longitude,
            (float) $latitude
        ));

        $near = array(
            '$geometry' => $point->jsonSerialize(),
        );

        if (is_array($distance)) {
            if (!empty($distance[0])) {
                $near['$minDistance'] = (int) $distance[0];
            }
            if (!empty($distance[1])) {
                $near['$maxDistance'] = (int) $distance[1];
            }
        } else {
            $near['$maxDistance'] = (int) $distance;
        }

        $this->where($field, array('$near' => $near));

        return $this;
    }