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

UNIXミリ秒時間を使用したMongogroupby月

    以下の集計をmongodb4.0で試すことができます

    timestampを変換できます 現在まで、 $toDate 集計してから $group $month 集約

    db.collection.aggregate([
      { "$match": { "type": "deposits" }},
      { "$addFields": {
        "date": {
          "$toDate": "$timestamp"
        }
      }},
      { "$group": {
        "_id": { "$month": "$date" },
        "deposits": {
          "$push": "$$ROOT"
        }
      }}
    ])
    

    以下の集計をmongodb3.4で試すことができます

    3.4timestampを変換できます new Date()を追加して現在まで その中に、 $group $dateToStringを使用して、 集約

    db.collection.aggregate([
      { "$match": { "type": "deposits" }},
      { "$addFields": {
        "date": {
          "$add": [ new Date(0), "$timestamp" ]
        }
      }},
      { "$group": {
        "_id": {
          "$dateToString": {
            "format": "%m",
            "date": "$date"
          }
        },
        "deposits": {
          "$push": "$$ROOT"
        }
      }}
    ])
    



    1. MongoDB $ sample

    2. SpringデータとQueryDSLを使用したMongoDbクエリの投影

    3. objectidフィールドのないmongodbコレクションの最終更新/挿入/削除操作時間を見つける方法

    4. mongodb-orgがmongodb-10gen-serverと競合しています