MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Laravel 5 Jumlah kolom yang dikalikan dengan fasih untuk mongo DB

Saya percaya operator agregasi seperti sum mengharapkan nama kolom yang tepat sebagai parameter. Anda dapat mencoba project perkalian dulu, lalu jumlahkan hasilnya:

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

atau gunakan agregasi secara langsung:

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. Menambahkan nilai baru ke array mongo yang ada

  2. Skema luwak dengan objek opsional bersarang

  3. instal mongoDB (proses anak gagal, keluar dengan nomor kesalahan 100)

  4. Bagaimana mengatasi MongoError:pool hancur saat terhubung ke CosmosDB

  5. Penyeimbangan beban MongoDB di beberapa instans AWS