2
我已經有一個解決方案,但我在看這確實對MongoServer所有作業(因爲我覺得這是更快,更少的內存消耗)如何獲得MongoDB中兩個字段的差異總和?
我有一類方法的解決方案,如:
function getTotalOutstandingAmount(){
$outstandingAmount = 0;
$subs = $this->mongo->selectCollection('SmsSubscriptions');
$activeSubsctiptions = $subs->find(array('Status' => 1, '$where' => "this.SubscriptionPayments < this.SubscriptionTotal"));
foreach ($activeSubsctiptions AS $sub){
$outstandingAmount += $sub['SubscriptionTotal'] - $sub['SubscriptionPayments'];
}
return $outstandingAmount;
}
現在有沒有一種方法可以使用MongoDB的aggregate
方法計算兩個字段的差值之和?有沒有其他更有效的方式來做到這一點?
完美的作品。我想知道如何使這項工作,如果一個或兩個'$減'字段是字符串? – eNeMetcH
唯一不幸的部分是'$ subtract'對於字符串不能很好地工作,因爲只要它們解析爲數字和/或日期,操作符的參數可以是任何有效的表達式。所以你需要一個機制來將字符串轉換爲一些數字表示。 – chridam