mongodb - 执行聚合时出现mongodb错误
问题描述
感谢您对此的帮助和评论。我一直在运行 mongodb 没有任何问题。
我正在进行大型聚合,一段时间后我收到以下错误:
com.mongodb.MongoCommandException:命令失败,出现错误 8 (UnknownError):服务器 mongo1:27017 上的“断言 src/mongo/db/pipeline/value.cpp:1365”。完整的响应是 { "ok" : 0.0, "errmsg" : "assertion 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 })
你已经越过这个错误了吗?谢谢
解决方案
推荐阅读
- c - c 在字符串中搜索目标字符串
- javascript - java中等效的node.js Buffer是什么?
- postgresql - 如何将地理空间数据从 kafka 主题同步到 postgres?
- java - 如何使用 Junit 和 Mockito 对我的 REST 控制器进行单元测试?
- javascript - 创建目录然后从该新目录读取文件的函数
- amazon-web-services - 在浏览器中打开对象 URL 时 AWS S3 访问被拒绝
- reactjs - 开玩笑快照测试未生成适当的快照并通过
- css - 我的主题是响应式的,但我的描述不适合移动设备,为什么?
- c# - 如何从 openapi 2.0 生成的对象命名空间中删除破折号
- ios - 如何使用 Foundation 框架在 Swift 中创建和运行线程?