time.setCurrentOrRange(), $gte: time.setCurrentOrRange(ms) }
                  
                  
                    }
                  
                  
                   },
                  
                  
                  
                  
                  
                   { $group:
                  
                  
                    {
                  
                  
                     _id: null,
                  
                  
                     LastUpdate : { $max: "$Date" },
                  
                  
                     minTemperature: { $min: "$Temperature" },
                  
                  
                     maxTemperature: { $max: "$Temperature" },
                  
                  
                     avgTemperature: { $avg: "$Temperature" },
                  
                  
                     minPressure: { $min: "$Pressure" },
                  
                  
                     maxPressure: { $max: "$Pressure" },
                  
                  
                     avgPressure: { $avg: "$Pressure" },
                  
                  
                    }
                  
                  
                   },
                  
                  
                  
                  
                  
                   { $project:
                  
                  
                    {
                  
                  
                     _id: null,
                  
                  
                     LastUpdate : 1,
                  
                  
                     Temperature: {
                  
                  
                      Min: ["$minTemperature", "$LastUpdate"],
                  
                  
                      Max: ["$maxTemperature", "$LastUpdate"],
                  
                  
                      Avg: { $round: ["$avgTemperature", 1] }
                  
                  
                     },
                  
                  
                     Pressure: {
                  
                  
                      Min: ["$minPressure", "$LastUpdate"],
                  
                  
                      Max: ["$maxPressure", "$LastUpdate"],
                  
                  
                      Avg: { $round: ["$avgPressure", 1] }
                  
                  
                     },
                  
                  
                    }
                  
                  
                   },
                  
                  
                  
                  
                  
                   { $project:
                  
                  
                    {
                  
                  
                     _id: 0,
                  
                  
                     Date: 0,
                  
                  
                     City: 0,
                  
                  
                     Street: 0
                  
                  
                    }
                  
                  
                   }
                  
                  
                  ]};
                  
                  
                  
                  
                  
                  У меня есть такая агрегация. Здесь я нахожу минимальные, максимальные и средние значения по полям. Хочется по минимальным и максимальным значениям ещё получать timestamp из того же документа, чтобы знать в какой момент времени было минимальное или максимальное значение. Я не понимаю, можно ли это сделать? )
                  
                  
                
Самый простой способ — двумя агрегациями.
Обсуждают сегодня