要获取最小值和最大值,请使用$min和$max。让我们创建一个包含文档的集合-
> db.demo286.insertOne({"details":[{Value1:70,Value2:50},{Value1:30,Value2:36}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e4ac743f49383b52759cbbc") }
在find()
方法的帮助下显示集合中的所有文档-
> db.demo286.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5e4ac743f49383b52759cbbc"), "details" : [ { "Value1" : 70, "Value2" : 50 }, { "Value1" : 30, "Value2" : 36 } ] }
这是获取数组的最小值和最大值的查询-
> db.demo286.aggregate([ { "$project": { "name": 1, "MinValue1": { "$min": "$details.Value1" }, "MaxValue2": { "$max": "$details.Value2" } }} ])
这将产生以下输出-
{ "_id" : ObjectId("5e4ac743f49383b52759cbbc"), "MinValue1" : 30, "MaxValue2" : 50 }