MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak przekonwertować milisekundy do daty w agregacji mongodb?

Możesz spróbować dodać czas milisekund do zerowego obiektu Date() w $project operator przy użyciu $add operator arytmetyczny, więc potok agregacji podobny do poniższego da ci pole znacznika czasu przekonwertowane na datę:

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
         } 
    }
]);

Wyjście :

/* 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak uruchomić usługę mongodb w systemie Mac OS X?

  2. Jak zaktualizować pola Mongodb z flagą pominięcia w strukturze Golang

  3. Unikalne dokumenty używające wielu wartości w schemacie Mongoose

  4. MongoDB a MySQL

  5. MongoDB Shell - dostęp do kolekcji z kropką w nazwie?