有没有办法计算 mongodb 中的字段名称?我有一个 mongo 文档数据库,其中包含其他嵌入式文档。以下是数据可能看起来的示例。
{
"incident": "osint181",
"summary":"Something happened",
"actor": {
"internal": {
"motive": [
"Financial"
],
"notes": "",
"role": [
"Malicious"
],
"variety": [
"Cashier"
]
}
}
}
另一个文档可能如下所示:
{
"incident": "osint182",
"summary":"Something happened",
"actor": {
"external": {
"motive": [
"Financial"
],
"notes": "",
"role": [
"Malicious"
],
"variety": [
"Hacker"
]
}
}
}
如您所见,演员在第二个文档中已从内部更改为外部。我想做的是计算每种类型演员的事件数量。我的第一次尝试是这样的:
db.public.aggregate( { $group : { _id : "$actor", count : { $sum : 1 }}} );
但这给了我整个子文档,并且计数反映了有多少文档完全相同。相反,我希望获得内部计数和外部计数等。有没有一种优雅的方法可以做到这一点?如果不优雅,有人可以给我一个肮脏的方式吗?