Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

MongoDB Aggregate: หาค่า Min/Max ของฟิลด์ในอาร์เรย์ด้วย $min และ $max


สร้างคอลเลกชันตัวอย่าง

> db.demo286.insertOne({"details":[{"Value1":70,"Value2":50},{"Value1":30,"Value2":36}]});
{ "acknowledged": true, "insertedId": ObjectId("5e4ac743f49383b52759cbbc") }

แสดงข้อมูล

> db.demo286.find().pretty();
{ "_id": ObjectId("5e4ac743f49383b52759cbbc"), "details": [ { "Value1": 70, "Value2": 50 }, { "Value1": 30, "Value2": 36 } ] }

คิวรี Aggregate: $project + $min/$max

> db.demo286.aggregate([
  { "$project": { "name": 1, "MinValue1": { "$min": "$details.Value1" }, "MaxValue2": { "$max": "$details.Value2" } }}
])

ผลลัพธ์: MinValue1=30, MaxValue2=50

{ "_id": ObjectId("5e4ac743f49383b52759cbbc"), "MinValue1": 30, "MaxValue2": 50 }