MongoDB PHP,按价格排序

时间:2012-10-18 02:22:30

标签: php mongodb

我正试图通过价格High->对Mongo数据库中的房地产物业进行排序。低和低 - >高。 这就是我查询的方式:

<?php
// open connection to MongoDB server
$conn = new Mongo();
$db = $conn->test;
$collection = $db->residential;
$filter = array('LISTSTATUS' => 'Active');
$listings = $collection->find($filter);
// Sort by price High->Low
$listings->sort(array('LISTPRICE' => -1));
// Skip if the offset is set
if($skip != 0)
{
     $listings->skip($skip);
}
// 9 results per page
$listings->limit(9);
?>

在视图中我只是像这样做一个while循环:

foreach($listings as $listing)
{
   print_r($listing);
}

该脚本返回一个Mongo对象,但它没有正确排序。看起来它需要'LISTPRICE'作为字符串:

Array
(
    [LISTPRICE] => 999900
)
1           
        Array
(
    [LISTPRICE] => 99900
)
1   
        Array
(
    [LISTPRICE] => 99900
)
1       
        Array
(
    [LISTPRICE] => 99900

)

$ 999k到$ 99k之间存在巨大差距,我确信,该​​范围内有属性。如果我从Low-&gt; High排序,首页上的属性价格为100万美元和10万美元。如何让mongodb将价格作为整数或双精度而不是字符串?

0 个答案:

没有答案