Mongodb mongo DB非法语法

Mongodb mongo DB非法语法,mongodb,mongodb-query,Mongodb,Mongodb Query,以下是我的数据示例: {"CAND_NAME": "WARREN, ELIZABETH", "CAND_PTY_AFFILIATION": "DEM", "CAND_OFFICE_ST":"MA","CONNECTED_ORG_NM": null, "cmte_received": {"CAND_NAME": "WARREN, ELIZABETH", "CAND_PTY_AFFILIATION": "DEM", "CAND_OFFICE_ST":"MA","CONNECTED_ORG_NM":

以下是我的数据示例:

{"CAND_NAME": "WARREN, ELIZABETH", "CAND_PTY_AFFILIATION": "DEM", "CAND_OFFICE_ST":"MA","CONNECTED_ORG_NM": null, "cmte_received":
{"CAND_NAME": "WARREN, ELIZABETH", "CAND_PTY_AFFILIATION": "DEM", "CAND_OFFICE_ST":"MA","CONNECTED_ORG_NM": null, "cmte_received":
我正在按交易金额查找收到的前五名
cmte_
,以下是我的代码:

db.Contrib_Data.aggregate({ $group: {$“cmte_received”},
                       totalcontri : { $sum : $"TRANSACTION_AMT" } } ,{ $sort: {totalcontri: -1},{$limit: 5})

由于一个非法字符,它一直给我一个语法错误。

您使用的是
$group
管道,没有
\u id
,因此首先,您应该查看的官方文档,并且您没有传递值
{$“cmte\u received”}
$“TRANSACTION\u AMT”
格式正确,应为
{“$cmte\u received”}
“$TRANSACTION\u AMT”

您对适当管道的查询应如下所示:

db.Contrib_Data.aggregate(
    { 
        $group: 
        { 
            _id: "$cmte_received", 
            "totalcontri" : {  $sum : "$TRANSACTION_AMT"  } 
        }
    }, 
    { 
        $sort: 
        { "totalcontri": -1 }
    }, 
    {
        $limit:5
    }  
)

我还建议您经历MongoDB的管道阶段

Yep,
{$“cmte_received”}
$“TRANSACTION_AMT”
不可用JS对象和字符串。如果您想按
cmte\u received
分组,则可能可以将1st更正为
{u id:$cmte\u received”}
。其次是
“$TRANSACTION\u AMT”
,作为有效字符串。此外,在进行聚合时,文档通常对我很有帮助: