ошибка mongodb при выполнении агрегации - PullRequest
0 голосов
/ 19 октября 2019

Буду признателен за вашу помощь и комментарии по этому поводу. Я запускаю mongodb без проблем.

Я выполняю большое агрегирование, и через некоторое время я получаю следующую ошибку:

com.mongodb.MongoCommandException: Команда не выполнена сошибка 8 (UnknownError): «утверждение src / mongo / db / pipeline / value.cpp: 1365» на сервере mongo1: 27017. Полный ответ: {"ok": 0.0, "errmsg": "утверждение src / mongo / db / pipeline / value.cpp: 1365", "code": 8, "codeName": "UnknownError"}

запрос выполняется, я похож на:

db.getCollection('saft_documents').aggregate([
    { 
       $match:{invoiceDate: {$gte: new ISODate("2019-01-01T00:00:00.000Z"), $lte: new ISODate("2019-01-07T00:00:00.000Z")}}
    },
    {
       $unwind:"$lines"
    },
    {
       $group:{
               _id:{taxEntity:"$taxEntity",invoiceType:"$invoiceType",invoiceStatus:"$invoiceStatus", productCode:"$lines.productCode",productDesc:"$lines.productDescription"},
               numberOfLines:{$sum:1},
               quantity:{$sum:"$lines.quantity"},
               creditAmount:{$sum:"$lines.creditAmount"},
               debitAmount:{$sum:"$lines.debitAmount"},
               taxPayableRec:{ 
                 $sum:{  $cond: [ 
                         {$ifNull: ['$lines.taxBase', false]},
                         {$multiply:["$lines.taxBase",{$divide:["$lines.taxPercentage",100]}]}, 
                         {$multiply:[{$subtract:["$lines.creditAmount","$lines.debitAmount"]} ,{$divide:["$lines.taxPercentage",100]}]}
                     ] }
                  }
           }
    },
    {
       $project:{
              _id:0,
              taxEntity: "$_id.taxEntity",
              invoiceType: "$_id.invoiceType",
              invoiceStatus: "$_id.invoiceStatus",
              productCode: "$_id.productCode",
              productDesc: "$_id.productDesc",
              numberOfLines:1,
              quantity:1,
              creditAmount:1,
              debitAmount:1,
              taxPayableRec:1,
              netTotal: {$subtract:["$creditAmount","$debitAmount"]},
              grossTotal: {$add:[{$subtract:["$creditAmount","$debitAmount"]},"$taxPayableRec"]}
           }  
    }

// uncomment to show the number of groups generated    
//     ,{
//     $group:{
//         _id:null,
//         count:{$sum:1}
//         }}

 ],{ allowDiskUse: true })

Вы уже сталкивались с этой ошибкой? Спасибо

...