Commit 7b02af30 authored by Roy de Vos Burchart's avatar Roy de Vos Burchart

Added cursor hint

parent 23f93aeb
...@@ -33,6 +33,13 @@ class Builder extends QueryBuilder { ...@@ -33,6 +33,13 @@ class Builder extends QueryBuilder {
*/ */
public $timeout; public $timeout;
/**
* The cursor hint value.
*
* @var int
*/
public $hint;
/** /**
* All of the available clause operators. * All of the available clause operators.
* *
...@@ -100,6 +107,19 @@ class Builder extends QueryBuilder { ...@@ -100,6 +107,19 @@ class Builder extends QueryBuilder {
return $this; return $this;
} }
/**
* Set the cursor hint.
*
* @param mixed $index
* @return $this
*/
public function hint($index)
{
$this->hint = $index;
return $this;
}
/** /**
* Execute a query for a single record by ID. * Execute a query for a single record by ID.
* *
...@@ -249,11 +269,12 @@ class Builder extends QueryBuilder { ...@@ -249,11 +269,12 @@ class Builder extends QueryBuilder {
// Execute query and get MongoCursor // Execute query and get MongoCursor
$cursor = $this->collection->find($wheres, $columns); $cursor = $this->collection->find($wheres, $columns);
// Apply order, offset and limit // Apply order, offset, limit and hint
if ($this->timeout) $cursor->timeout($this->timeout); if ($this->timeout) $cursor->timeout($this->timeout);
if ($this->orders) $cursor->sort($this->orders); if ($this->orders) $cursor->sort($this->orders);
if ($this->offset) $cursor->skip($this->offset); if ($this->offset) $cursor->skip($this->offset);
if ($this->limit) $cursor->limit($this->limit); if ($this->limit) $cursor->limit($this->limit);
if ($this->hint) $cursor->hint($this->hint);
// Return results as an array with numeric keys // Return results as an array with numeric keys
return iterator_to_array($cursor, false); return iterator_to_array($cursor, false);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment