MongoDB聚合查询JSON校验器报错,终端运行正常求助
问题排查与修复
你的MongoDB聚合查询在终端能运行但通不过JSON校验的核心原因是JSON规范不允许对象末尾存在尾随逗号,而MongoDB终端(如mongo shell)基于JavaScript解析器,对尾随逗号的兼容性更强,所以能正常执行。
具体问题点:
- 在
$addFields阶段的对象中,Pupa字段后多了一个不必要的逗号:Pupa: { $toInt: "$Pupa" }, - 在
$group阶段的对象中,"Pupa"字段后同样存在多余的逗号:"Pupa": { $sum: "$Pupa" } },
修正后的代码:
[ { $addFields: { Larva: { $toInt: "$Larva" }, Ninfa: { $toInt: "$Ninfa" }, Pupa: { $toInt: "$Pupa" } } }, { $group: { _id: "", "Huevo": { $sum: "$Huevo" }, "Larva": { $sum: "$Larva" }, "Ninfa": { $sum: "$Ninfa" }, "Pupa": { $sum: "$Pupa" } } } ]
内容的提问来源于stack exchange,提问作者Victor Daniel Salazar Marquez
相关产品推荐
相关产品推荐

