我有:
$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的一些东西让我不知所措。
答案 0 :(得分:2)
geoNear是一个数据库命令,而不是查询运算符。因此,limit()和skip()修饰符不适用于它。有关详细信息,请参阅SERVER-3925。
如果您想在MongoDB中看到此功能,请关注并投票支持Jira票。