sql >> Databáze >  >> NoSQL >> MongoDB

Mongo skupinově po měsíci pomocí UNIXového milisekundového času

Níže můžete vyzkoušet agregaci v mongodb 4.0

Můžete převést timestamp dosud pomocí $toDate agregace a poté $group s $month agregace

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

Níže můžete vyzkoušet agregaci v mongodb 3.4

V 3.4 můžete převést timestamp k dnešnímu dni přidáním new Date() v něm a $group pomocí $dateToString agregace

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



  1. Hrát si! 2 Framework – Přidejte ovladač Java Mongo

  2. Jak převést relační formulář SQL z many-to-many na kolekci mongoDB?

  3. Redis INCRBY s limity

  4. Nelze získat krytý dotaz pro sdílenou kolekci v MongoDB