4

私はすでに解決策を持っていますが、MongoServer ですべての作業を行う解決策を探しています (その方が高速でメモリ消費が少ないと思うため)

私は次のようなクラスメソッドを持っています:

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;
}

aggregateMongoDB のメソッドを使用して 2 つのフィールドの差の合計を計算する方法はありますか? これを行う他のより効率的な方法はありますか?

4

2 に答える 2