时间:MongoDB中的天和小时

时间:MongoDB中的天和小时,mongodb,datetime,timestamp,match,Mongodb,Datetime,Timestamp,Match,我尝试在MongoDB中选择从周五16:45到周一早上7:00的这些集合的文档,并根据度量值(文档中的“valor”)按降序获得结果 集合中的文档如下所示: { "_id" : ObjectId("609c2c2d420a73728827e880"), "timestamp" : ISODate("2020-07-01T02:15:00Z"), "sensor_id" : 2, "loc

我尝试在MongoDB中选择从周五16:45到周一早上7:00的这些集合的文档,并根据度量值(文档中的“valor”)按降序获得结果 集合中的文档如下所示:

{
"_id" : ObjectId("609c2c2d420a73728827e880"),
"timestamp" : ISODate("2020-07-01T02:15:00Z"),
"sensor_id" : 2,
"location_id" : 1,
"medidas" : [
    {
        "tipo_medida" : "Emision_CO2",
        "valor" : 1.67,
        "unidad" : "gCO2/m2"
    },
    {
        "tipo_medida" : "Consumo_electrico",
        "valor" : 0.00155,
        "unidad" : "kWh/m2"
    }
]
}

我编写了下一个代码:

        db.datos_sensores.aggregate([{
 $project:{timestamp: 1,"_id":0, "medidas":{$slice:["$medidas",-1]},"location_id":1}},
{$addFields:{dia_semana:{$dayOfWeek:"$timestamp"},Hora:{$hour:"$timestamp"}}},
{$match:{“dia_semana2:{$in:[1,2,6,7]}, “medidas.tipo_medida”:1,
“location_id”:1}}]).sort({"medidas.1.valor": -1}).pretty()

但是我不知道如何选择小时和分钟(只有天),我得到了:未捕获的异常:语法错误:非法字符:

查询看起来不错,请看,但是不能将
.sort()
方法与
aggregate()
方法结合使用,有一个用于聚合的$sort阶段
{$sort:{“medidas.valor”:-1}
感谢@turivishal花时间回答。非常感谢你带我参观操场,我不知道网络。我可以选择日期,但不能选择时间,周五16:45到周一7:00;我粘贴了更多的文档:()有很多日期和时间的操作符,可以使用任何格式。。