本文整理汇总了PHP中MongoCursor::batchSize方法的典型用法代码示例。如果您正苦于以下问题:PHP MongoCursor::batchSize方法的具体用法?PHP MongoCursor::batchSize怎么用?PHP MongoCursor::batchSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MongoCursor
的用法示例。
在下文中一共展示了MongoCursor::batchSize方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: recreate
/**
* 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->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);
}
if ($this->maxTimeMS !== null) {
$this->mongoCursor->addOption('$maxTimeMS', $this->maxTimeMS);
}
}
示例2: getCursor
/**
*
* @return \MongoCursor
*/
private function getCursor()
{
if ($this->cursor) {
return $this->cursor;
}
$this->cursor = $this->collection->getMongoCollection()->find($this->expression->toArray(), $this->fields);
if ($this->skip) {
$this->cursor->skip($this->skip);
}
if ($this->limit) {
$this->cursor->limit($this->limit);
}
if ($this->options['batchSize']) {
$this->cursor->batchSize($this->options['batchSize']);
}
if ($this->options['clientTimeout']) {
$this->cursor->timeout($this->options['clientTimeout']);
}
if ($this->options['serverTimeout']) {
$this->cursor->maxTimeMS($this->options['clientTimeout']);
}
if ($this->sort) {
$this->cursor->sort($this->sort);
}
if ($this->hint) {
$this->cursor->hint($this->hint);
}
// log request
if ($this->client->hasLogger()) {
$this->client->getLogger()->debug(get_called_class() . ': ' . json_encode(array('collection' => $this->collection->getName(), 'query' => $this->expression->toArray(), 'project' => $this->fields, 'sort' => $this->sort)));
}
$this->cursor->rewind();
// define read preferences
if ($this->readPreference) {
$this->cursor->setReadPreference($this->readPreference['type'], $this->readPreference['tagsets']);
}
return $this->cursor;
}
示例3: batchSize
public function batchSize($batchSize)
{
parent::batchSize($batchSize);
return $this;
}