有没有办法计算Mongodb子文档的dict键?

时间:2018-01-25 22:03:15

标签: mongodb

我有一个看起来像这样的文件:

{
    _id: x,
    1: {a:a, b:b, c:b},
}

我想计算字典{a:a, b:b, c:b}中的键数(这里是3)。

我当前的解决方案不起作用,因为$size仅适用于数组(看起来非常糟糕,更糟糕的是它返回游标)。

db.test.aggregate([
    {$match: {$and: [{_id: x}, {1.a: {$exists: True}}]}},
    {$project: {my_count: {$size: $1.a}}}
])

我想我可以将模式更改为数组,但这对我的大多数操作来说都不是很好。

有办法做到这一点吗?

PS:我不想返回文档(每秒数百万次调用),我试图从一个查询中获取计数,如果可能的话,以优化的方式获取。

PPS:我正在使用(这不能改变)mongodb 3.2.x

0 个答案:

没有答案