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

ObjectIdの日付でMongoDBの結果を集計します

    更新:これを行うための組み込みの方法があります。https://stackoverflow.com/aを参照してください。 / 51766657/295687

    ObjectIdを日付のようなものに変換できる集約演算子がないため、mongodbの集約フレームワークで要求していることを達成する方法はありません( JIRAticket 、 けれど)。ただし、map-reduceを使用して目的を達成できるはずです:

    // map function
    function domap() {
        // turn ObjectId --> ISODate
        var date = this._id.getTimestamp();
        // format the date however you want
        var year = date.getFullYear();
        var month = date.getMonth();
        var day = date.getDate();
    
        // yields date string as key, entire document as value
        emit(year+"-"+month+"-"+day, this);
    }
    
    // reduce function
    function doreduce(datestring, docs) {
        return {"date":datestring, "docs":docs};
    }
    


    1. MongoDBのドキュメントを更新する

    2. マングースを使用してサブドキュメントを直接クエリすることは可能ですか?

    3. MongoDbへの現在の接続数を確認してください

    4. MongoDB:JSONからLongを読み取ろうとすると、java.lang.Integerをjava.lang.Longにキャストできません