ใช้ $match กับ $gt สำหรับเงื่อนไขมากกว่า
ใน pipeline aggregate ใช้ $match พร้อม $gt (greater than) เพื่อกรองเอกสารที่มีค่าฟิลด์มากกว่าที่กำหนด
สร้างข้อมูลตัวอย่าง
> db.demo730.insertOne({"Name" : "Chris", "Marks" : 33 });
> db.demo730.insertOne({ "Name" : "David", "Marks" : 89});
> db.demo730.insertOne({ "Name" : "Chris", "Marks" : 45 });
แสดงข้อมูลทั้งหมด
> db.demo730.find();
ผลลัพธ์:
{ "_id" : ObjectId("5eac54cd56e85a39df5f6339"), "Name" : "Chris", "Marks" : 33 }
{ "_id" : ObjectId("5eac54cd56e85a39df5f633a"), "Name" : "David", "Marks" : 89 }
{ "_id" : ObjectId("5eac54ce56e85a39df5f633b"), "Name" : "Chris", "Marks" : 45 }
คิวรี: เรียงลำดับ _id ใหม่สุด จำกัด 3 รายการ แล้วกรอง Chris ที่ Marks > 40 หรือ David ทุกคน
> db.demo730.aggregate([
{ $sort: { _id: -1 } },
{ $limit: 3 },
{$match: { $or: [ {"Name": "Chris", "Marks": { "$gt": 40 }}, {"Name": "David"} ]}}
])
ผลลัพธ์
{ "_id" : ObjectId("5eac54ce56e85a39df5f633b"), "Name" : "Chris", "Marks" : 45 }
{ "_id" : ObjectId("5eac54cd56e85a39df5f633a"), "Name" : "David", "Marks" : 89 }