我正试图通过价格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将价格作为整数或双精度而不是字符串?