MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

लारवेल 5 मोंगो डीबी के लिए गुणा किए गए स्तंभों का वाक्पटु योग

मेरा मानना ​​है कि एग्रीगेशन ऑपरेटर्स जैसे sum पैरामीटर के रूप में सटीक कॉलम नाम की अपेक्षा करें। आप project . करने का प्रयास कर सकते हैं पहले गुणा करें, फिर परिणाम का योग करें:

DB::connection($this->MongoSchemaName)
    ->collection($this->InvoicesTable)
    ->where('ContactID', (int)$customer->ContactID)
    ->project([
        'ContactID' => 1, 
        'TotalInBaseCurrency' => ['$multiply' => ['$Total', '$CurrencyRate']]
    ])
    ->sum('TotalInBaseCurrency')

या सीधे एकत्रीकरण का उपयोग करें:

DB::connection($this->MongoSchemaName)
    ->collection($this->InvoicesTable)
    ->raw(function($collection) use ($customer){
        return $collection->aggregate([
            ['$match' => [
                    'ContactID' => (int)$customer->ContactID,
                    'Type' => 'PAYMENT'
                ]
            ],
            ['$group' => [
                '_id' => '$ContactID',
                'TotalInBaseCurrency' => [
                        '$sum' => ['$multiply' => ['$Total', '$CurrencyRate']]
                    ]
                ]
            ]
        ]);
    })



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. दस्तावेज़ सत्यापन के पीछे तर्क को तोड़ने वाले दो समवर्ती एपीआई अनुरोधों से कैसे बचें?

  2. एमजीओ:किसी दस्तावेज़ में एक विशिष्ट सरणी को कैसे अपडेट करें

  3. मतदान थ्रॉटल और मतदान अंतराल का उपयोग कैसे करें?

  4. मोंगोडब वाक्यांश की कई घटनाओं को कैसे बदलें

  5. MongoDB एक संग्रह से सरणी तत्व खींचता है