我是mongodb的新手,第一次try 聚合.在这里,我试图获得每15分钟分组的推文数量.当我试图在mongo控制台中运行以下查询时,我得到了错误:

管道阶段规范对象必须仅包含一个字段.

    db.hashtag.aggregate([
    { "$group": {
        "_id": {
            "year": { "$year": "$tweettime" },
            "dayOfYear": { "$dayOfYear": "$tweettime" },
            "interval": {
                "$subtract": [ 
                    { "$minute": "$tweettime" },
                    { "$mod": [{ "$minute": "$tweettime"}, 15] }
                ]
            }
        }},
        "count": { "$sum": 1 }
    }
])

我找不到一个很好的理由来解释这件事.请分享你对这个问题的看法,以及为什么我的问题有错误.

推荐答案

MongoDB正在抱怨,因为您的管道中有一个未被识别的管道阶段规范"count": { "$sum": 1 }.

当格式正确时,您的原始管道

db.hashtag.aggregate([
    { 
        "$group": {
            "_id": {
                "year": { "$year": "$tweettime" },
                "dayOfYear": { "$dayOfYear": "$tweettime" },
                "interval": {
                    "$subtract": [ 
                        { "$minute": "$tweettime" },
                        { "$mod": [{ "$minute": "$tweettime"}, 15] }
                    ]
                }
            }
        },
        "count": { "$sum": 1 } /* unrecognised pipeline specification here */
    }
])

101管道内的骨料收集器100应如下所示:

    { 
        "$group": {
            "_id": {
                "year": { "$year": "$tweettime" },
                "dayOfYear": { "$dayOfYear": "$tweettime" },
                "interval": {
                    "$subtract": [ 
                        { "$minute": "$tweettime" },
                        { "$mod": [{ "$minute": "$tweettime"}, 15] }
                    ]
                }
            },
            "count": { "$sum": 1 }
        }           
    }
])

Mongodb相关问答推荐

MongoDB—基于数组中同一文档中的另一个字段更新字段

用其他集合中的文档替换嵌套文档数组中的值

如何用Python和MongoDB找到单据字段的最大值?

在不知道字段名称的情况下如何引用 MongoDB 中的字段?

MongoDB - 来自先前匹配文档的聚合匹配字段

Mongodb,在一个查询中用正则表达式更新部分字符串

如何在 mongodb golang 的单个更新调用中使用 $set 和 $inc?

有谁知道这个错误的修复方法(TypeError: Cannot assign to read only property ‘map’ of object '#')

Raft Vs MongoDB 初选

如果 mongoDB 服务器正在运行,如何从驱动程序判断

使用 EventSourcing(NodeJS、MongoDB、JSON)跨多个偶尔连接的客户端同步数据

SELECT 字段 AS `anothername` 的 mongodb 等效项

返回从循环中调用的数据库查询中检索到的数据的问题

MongoDB获取聚合查询的executionStats

Mongodb将重音字符匹配为基础字符

在 Nodejs 中找不到模块

MongoDB:自动生成的 ID 为零

在 MongoDB 上分片 GridFS

如何在mongoose的嵌套填充中 Select 特定字段

Pymongo/bson:将 python.cursor.Cursor 对象转换为可序列化/JSON 对象