排序Mongodb游标似乎不起作用

时间:2015-04-15 18:00:22

标签: php mongodb sorting

所以我想从MongoDB中检索一堆产品,这些产品按名为rating的字段排序,这是一个数字字段。

为此我做:

$cursor = $this->productCollection->find();
$cursor->sort(array("rating" => -1));

然而,当我循环光标并打印评级时:

foreach ($cursor as $id => $product)
{
   echo "<br>". $product['rating'];
}

我没有按排序顺序获得评级,我得到的值如下:

1.2
3.1
1.1
2.0
2.1
4.2
3.7

我该怎么做才能正确排序结果?

1 个答案:

答案 0 :(得分:1)

我相信你只需要在循环之前重新分配光标:

$cursor = $cursor->sort(array("rating" => -1));

否则,您只是遍历未排序的原始游标。请参阅here