/** * Recreates the internal MongoCursor. */ public function recreate() { $this->mongoCursor = $this->collection->getMongoCollection()->find($this->query, $this->fields); if ($this->hint !== null) { $this->mongoCursor->hint($this->hint); } if ($this->immortal !== null) { $this->mongoCursor->immortal($this->immortal); } foreach ($this->options as $key => $value) { $this->mongoCursor->addOption($key, $value); } if ($this->batchSize !== null) { $this->mongoCursor->batchSize($this->batchSize); } if ($this->limit !== null) { $this->mongoCursor->limit($this->limit); } if ($this->maxTimeMS !== null) { $this->mongoCursor->maxTimeMS($this->maxTimeMS); } if ($this->skip !== null) { $this->mongoCursor->skip($this->skip); } if ($this->slaveOkay !== null) { $this->setMongoCursorSlaveOkay($this->slaveOkay); } // Set read preferences after slaveOkay, since they may be more specific if ($this->readPreference !== null) { if ($this->readPreferenceTags !== null) { $this->mongoCursor->setReadPreference($this->readPreference, $this->readPreferenceTags); } else { $this->mongoCursor->setReadPreference($this->readPreference); } } if ($this->snapshot) { $this->mongoCursor->snapshot(); } if ($this->sort !== null) { $this->mongoCursor->sort($this->sort); } if ($this->tailable !== null) { $this->mongoCursor->tailable($this->tailable); } if ($this->timeout !== null) { $this->mongoCursor->timeout($this->timeout); } }
/** * Wrapper method for MongoCursor::maxTimeMS(). * * @see http://php.net/manual/en/mongocursor.maxtimems.php * @param integer $ms * @return self */ public function maxTimeMS($ms) { $this->maxTimeMS = (int) $ms; $this->mongoCursor->addOption('$maxTimeMS', (int) $ms); return $this; }
public function addOption($key, $value) { parent::addOption($key, $value); return $this; }
/** * 添加选项 * @param String $key * @param String $value * @return muMongoCursor */ public function addOption($key, $value) { $this->oMongoCursor->addOption($key, $value); return $this; }