2013-01-04 44 views
1

繼例子:http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.htmlMongo Query Builder Skip完全被忽略。錯誤?

我:

$dm = $this->get('doctrine.odm.mongodb.document_manager'); 
$query = $dm->createQueryBuilder('MainClassifiedBundle:Listing')->field('residentialOrCommercial')->equals($residentialOrCommercial); 
     if ($propertyType != 'All Property Types') 
      { 
      $query->field('propertyType')->equals($propertyType); 
      } 

     $query->field('askingPrice')->range($minPrice, $maxPrice)->field('coordinates')->geoNear((float)$longitude, (float)$latitude)->spherical(true); 

       if($radius!=0) 
       { 
         $query->maxDistance($radius); 
       } 
     $classifieds = $query->limit(5)->skip(2)->getQuery()->execute(); 

一切正常,但是跳過場使得沒有任何區別。無論我是否投入1或1000,我都會得到相同的結果集。

我錯過了什麼?

更新:我也測試了這在另一個文件集合,發現它的工作原理。關於geoNear的一些東西就是爲我搞亂了。

回答

2

geoNear是一個數據庫命令,而不是查詢操作符。因此,limit()和skip()修飾符不適用於它。詳情請參閱SERVER-3925

如果您希望在MongoDB中看到此功能,請按照並投票支持Jira門票。