mongodb数据库中所有列表的总长度

时间:2015-02-19 21:19:42

标签: mongodb aggregation-framework database

我对mongo聚合很新,而且我得到了一些相对无益的错误,而且我还没有找到任何明确的例子。简而言之,我有一个集合user_data,文档的排列如下:

{
    _id: ObjectID,
    text: [#Documents],
    username: "<string>",
    metadata: {<fields>}
}

基本上,我希望计算此系列中存在的文档总数。这些文件都在文本字段下。我觉得非常接近合并$sum$size选择器,这就是我现在所拥有的:

db.user_data.aggregate([{$sum: {$size: "$text"}}])

至少在正确的轨道上,但运行此我收到此错误消息:

command failed: {
    "errmsg" : "exception: Unrecognized pipeline stage name: '$sum'",
    "code" : 16436,
    "ok" : 0
} : aggregate failed at src/mongo/shell/assert.js:13

非常感谢任何帮助。同样,对聚合非常新。

1 个答案:

答案 0 :(得分:2)

您有正确的想法使用$sum$size,但您需要将其放在$group运算符中:

db.user_data.aggregate([
    {$group: {
        _id: null,
        count: {$sum: {$size: "$text"}}
    }}
])

_id: null用于分组整个集合而不是特定字段。