2012-09-13 168 views
0

我知道這可以完成,但我面臨的問題是我所有的嘗試,我不能得到它的工作。mongoDB按百分比排序

的百分比都保存爲0.03或0.05或0.10

我試圖通過

$cursor->sort(array("offers"=>array("percentage"=>0))); 

對它們進行排序我也曾嘗試

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

,但沒有改變。

這裏是一個樣本收集

array (
    '_id'▼ => new MongoId("50513d8338fc5de706000000"), 
    'test' => new MongoInt32(1), 
    'offers' => 
    array (
    '0' => 
    array (
     'minspend' => '50.00', 
     'cashback' => '1.50', 
     'percentage' => '0.03', 
    ), 
    '1' => 
    array (
     'minspend' => '100.00', 
     'cashback' => '3.00', 
     'percentage' => '0.03', 
    ), 
), 
) 

回答

2

羅素,

排序來安排整個文件的順序。形成這個你看起來試圖在單個文檔中對數組進行排序。

要完成此操作,您需要檢索整個文檔,然後需要編寫自己的排序函數客戶端(PHP)端。

請看看在PHP中使用usort函數。 http://php.net/manual/en/function.usort.php