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



我对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

如有任何帮助,我们将不胜感激。同样,这对聚合来说是非常新鲜的。

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

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

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

相关内容

  • 没有找到相关文章

最新更新