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

mongodbアグリゲーションでミリ秒を日付に変換するにはどうすればよいですか?

    $project $addを使用するオペレーター 算術演算子なので、次のような集計パイプラインは、日付に変換されたタイムスタンプフィールドを提供します:

    db.campaign_wallet.aggregate([
        { 
            "$match": { 
                "campaignId" : 1 , 
                "txnTime" : { 
                    "$gte" : 1429554600000 , 
                    "$lte" : 1430159400000
                }
            }
        },
        { 
            "$group" : { 
                "_id" : {
                    "txnTime" : "$txnTime",
                    "msisdn":"$msisdn"
                }, 
                "msisdnCount" : { "$sum" : 1}
            }
        },
        { 
            "$group" : { 
                "_id" : "$_id.txnTime", 
                "msisdns" : { 
                    "$push" :{
                        "txnTime" : "$_id.txnTime", 
                        "count" : "$msisdnCount"
                    },
                }, 
                "count" : { 
                    "$sum" : "$msisdnCount"
                }
            }
        },
        {
            "$unwind": "$msisdns"
        },
        {
            "$project": {
                "msisdns": {
                    "txnTime" : {
                        "$add": [ new Date(0), "$msisdns.txnTime" ]
                    }
                },
                "msisdns.count": 1,
                "count": 1
             } 
        }
    ]);
    

    出力

    /* 0 */
    {
        "result" : [ 
            {
                "_id" : 1430111514796,
                "msisdns" : {
                    "txnTime" : ISODate("2015-04-27T05:11:54.796Z"),
                    "count" : 1
                },
                "count" : 1
            }, 
            {
                "_id" : 1430111514900,
                "msisdns" : {
                    "txnTime" : ISODate("2015-04-27T05:11:54.900Z"),
                    "count" : 1
                },
                "count" : 1
            }
        ],
        "ok" : 1
    }
    



    1. MongoDBでフィールドを暗号化する方法

    2. documentdbのサブフィールドのクエリ

    3. API呼び出しで2つのマングーススキーマを更新する

    4. Pythonを使用してmongodbの一致するサブドキュメントのみを選択する方法