当前位置: 首页>>代码示例>>PHP>>正文


PHP MongoCursor::hint方法代码示例

本文整理汇总了PHP中MongoCursor::hint方法的典型用法代码示例。如果您正苦于以下问题:PHP MongoCursor::hint方法的具体用法?PHP MongoCursor::hint怎么用?PHP MongoCursor::hint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MongoCursor的用法示例。


在下文中一共展示了MongoCursor::hint方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: fetchData

 /**
  * @see CActiveDataProvider::fetchData()
  * @return array
  */
 public function fetchData()
 {
     $criteria = $this->getCriteria();
     // I have not refactored this line considering that the condition may have changed from total item count to here, maybe.
     $this->_builder = new EMongoQueryBuilder($this->model, isset($criteria['condition']) && is_array($criteria['condition']) ? $criteria['condition'] : [], isset($criteria['project']) && !empty($criteria['project']) ? $criteria['project'] : []);
     $this->options['condition'] = isset($criteria['condition']) && is_array($criteria['condition']) ? $criteria['condition'] : [];
     $this->options['projection'] = isset($criteria['project']) && !empty($criteria['project']) ? $criteria['project'] : [];
     // If we have sort and limit and skip setup within the incoming criteria let's set it
     if (isset($criteria['sort']) && is_array($criteria['sort'])) {
         $this->_builder->sort($criteria['sort']);
     }
     if (isset($criteria['skip']) && is_int($criteria['skip'])) {
         $this->_builder->skip($criteria['skip']);
     }
     if (isset($criteria['limit']) && is_int($criteria['limit'])) {
         $this->_builder->limit($criteria['limit']);
     }
     if (isset($criteria['hint']) && (is_array($criteria['hint']) || is_string($criteria['hint']))) {
         $this->_builder->hint($criteria['hint']);
     }
     if (($pagination = $this->getPagination()) !== false) {
         $pagination->setItemCount($this->getTotalItemCount());
         $this->_builder->limit($pagination->getLimit());
         $this->_builder->skip($pagination->getOffset());
     }
     if (($sort = $this->getSort()) !== false) {
         $sort = $sort->getOrderBy();
         if (count($sort) > 0) {
             $this->_builder->sort($sort);
         }
     }
     //                var_dump(iterator_to_array($this->_builder->find()));die;
     return $this->_builder->queryAll(true);
 }
开发者ID:yiicod,项目名称:mongoyii,代码行数:38,代码来源:EMongoDataProvider.php

示例2: fetchData

 /**
  * @see CActiveDataProvider::fetchData()
  * @return array
  */
 public function fetchData()
 {
     $criteria = $this->getCriteria();
     // I have not refactored this line considering that the condition may have changed from total item count to here, maybe.
     $this->_cursor = $this->model->find(isset($criteria['condition']) && is_array($criteria['condition']) ? $criteria['condition'] : array(), isset($criteria['project']) && !empty($criteria['project']) ? $criteria['project'] : array());
     // If we have sort and limit and skip setup within the incoming criteria let's set it
     if (isset($criteria['sort']) && is_array($criteria['sort'])) {
         $this->_cursor->sort($criteria['sort']);
     }
     if (isset($criteria['skip']) && is_int($criteria['skip'])) {
         $this->_cursor->skip($criteria['skip']);
     }
     if (isset($criteria['limit']) && is_int($criteria['limit'])) {
         $this->_cursor->limit($criteria['limit']);
     }
     if (isset($criteria['hint']) && (is_array($criteria['hint']) || is_string($criteria['hint']))) {
         $this->_cursor->hint($criteria['hint']);
     }
     if (($pagination = $this->getPagination()) !== false) {
         $pagination->setItemCount($this->getTotalItemCount());
         $this->_cursor->limit($pagination->getLimit());
         $this->_cursor->skip($pagination->getOffset());
     }
     if (($sort = $this->getSort()) !== false) {
         $sort = $sort->getOrderBy();
         if (count($sort) > 0) {
             $this->_cursor->sort($sort);
         }
     }
     return iterator_to_array($this->_cursor, false);
 }
开发者ID:pvassiliou,项目名称:MongoYii,代码行数:35,代码来源:EMongoDataProvider.php

示例3: 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);
     }
 }
开发者ID:ne0h12,项目名称:mongodb,代码行数:51,代码来源:Cursor.php

示例4: 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;
 }
开发者ID:paulocarvalhodesign,项目名称:php-mongo,代码行数:42,代码来源:Cursor.php

示例5: hint

 /**
  * @param array $hintoptions
  * @returns Result
  */
 public function hint(array $hintoptions)
 {
     $this->myResultCursor = $this->myResultCursor->hint($hintoptions);
     return $this;
 }
开发者ID:ppetermann,项目名称:king23,代码行数:9,代码来源:Result.php

示例6: hint

 public function hint($index)
 {
     parent::hint($index);
     return $this;
 }
开发者ID:lisong,项目名称:incubator,代码行数:5,代码来源:Cursor.php

示例7: hint

 /**
  * 对该查询给一些辅助索引的提示
  * @param Array $key_pattern 索引名
  * @return muMongoCursor 
  */
 public function hint($key_pattern)
 {
     $this->oMongoCursor->hint($key_pattern);
     return $this;
 }
开发者ID:diandengs,项目名称:RechoPHP,代码行数:10,代码来源:class.Mumongo.php


注:本文中的MongoCursor::hint方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。