MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment regrouper plusieurs champs dans MongoDB lorsqu'il s'agit d'un champ de date

Vous devez utiliser le $dayOfYear objet comme valeur d'un nouveau champ dans votre _id , comme ceci :

db.builds.aggregate(
    { $group: { 
        _id: { 
            build_result: "$build_result", 
            dayOfYear: { $dayOfYear: "$build_timestamp" }
        },
        build_duration: { $avg: "$build_duration" } 
    } }
)

Sortie :

{
  "result": [
    {
      "_id": {
        "build_result": "SUCCESS",
        "dayOfYear": 15
      },
      "build_duration": 667075
    }
  ],
  "ok": 1
}