sql >> データベース >  >> NoSQL >> MongoDB

MongoDB Aggregationエラー:パイプラインステージ仕様オブジェクトには、フィールドが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 */
        }
    ])
    

    アグリゲートアキュムレータが必要です $合計 $ group パイプライン:

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



    1. キードキュメントmongodb集計を変更する

    2. MongoDB:配列インデックスで並べ替え

    3. Ubuntu14.04でのMongoDBのインストールに失敗しました

    4. MongoDB $ week