如果我想从集合的所有记录中搜索最高温度,那么下面的查询是完美的
db.posts3.aggregate([{$group:{ _id: "maximum",Temperature:{$max:"$Temperature"}}}]);
如果我想搜索最近两天的最高温度,mongo查询将无法正常工作。
db.posts3.aggregate([{$group:
{ _id: "maximum",
{"time":{"$gt": ISODate("2019-10-12T11:25:06.156Z"),
"$lt":ISODate("2019-12-12T11:25:07.156Z")}
},
Temperature:{$max:"$Temperature"}
}
}
]);
最佳答案
将时间搜索移至$match
管道可能会解决您的问题:
db.posts3.aggregate([
{$match:
{"time": {
"$gt": ISODate("2019-10-12T11:25:06.156Z"),
"$lt":ISODate("2019-12-12T11:25:07.156Z")}
}
},
{$group:
{
_id: "maximum",
Temperature:{$max:"$Temperature"}
}
}
]);
关于mongodb - MongoDB查询找到最近两天的最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59333379/