如何在mongoDB中使用max和where条件查找集合中的输出

如何在mongoDB中使用max和where条件查找集合中的输出,mongodb,mongoose,mongodb-query,bson,Mongodb,Mongoose,Mongodb Query,Bson,这里有一个名为data的表,我有一个名为_id,timeStamp,value的数据。我需要使用特定日期的where条件获取最大值 db.data.aggregate([{“$group”:{“\u id”:null,“MaximumValue”:{“$max”:“$value”}}])您可以在运行$group之前使用$match: db.collection.aggregate([ { $match: { timeStamp: 1584948532188.0 } }, { $g

这里有一个名为data的表,我有一个名为_id,timeStamp,value的数据。我需要使用特定日期的where条件获取最大值


db.data.aggregate([{“$group”:{“\u id”:null,“MaximumValue”:{“$max”:“$value”}}])

您可以在运行
$group
之前使用
$match

db.collection.aggregate([
    { $match: { timeStamp: 1584948532188.0 } },
    { $group: { _id: null, maxVal: { $max: "$value" } } }
])
然后,
$max
仅应用于已筛选的文档集


你能显示你的数据模型和预期输出吗?@ MICKL请查看下面的模型并考虑时间戳被记录为双…这不是问题…{u id:ObjectId(“5e786534018df110a7a2a92f”),“时间戳”:158494853218.0,“值”:2124}{u id:ObjectId(“5e786534018df110a7a2a930”),“时间戳”:158494853288.0,“值”:231}{{u id:ObjectId(“5E786534018DF110A7A2931”),“时间戳”:158494853287.0,“value”:4567}因此,在运行
$group
之前,似乎需要使用
$match
作为时间戳,但我需要查看一些示例数据才能回答。基本上,
$match
变成了你的“where”。你试过了吗?@mickl谢谢你,伙计!工作:)酷,样本数据总是有帮助:)