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

จับคู่เอกสาร MongoDB ที่มีค่าฟิลด์มากกว่าตัวเลขที่ระบุและดึงออกมาหรือไม่


ในการจับคู่ ใช้ $match ใน MongoDB สำหรับค่าที่มากกว่าจำนวนที่ระบุ ให้ใช้ $gt ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo730.insertOne({"Name" : "Chris", "Marks" : 33 });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eac54cd56e85a39df5f6339")
}
> db.demo730.insertOne({ "Name" : "David", "Marks" : 89});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eac54cd56e85a39df5f633a")
}
> db.demo730.insertOne({ "Name" : "Chris", "Marks" : 45 });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eac54ce56e85a39df5f633b")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo730.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5eac54cd56e85a39df5f6339"), "Name" : "Chris", "Marks" : 33 }
{ "_id" : ObjectId("5eac54cd56e85a39df5f633a"), "Name" : "David", "Marks" : 89 }
{ "_id" : ObjectId("5eac54ce56e85a39df5f633b"), "Name" : "Chris", "Marks" : 45 }

ต่อไปนี้เป็นแบบสอบถามเพื่อให้ตรงกับเอกสาร MongoDB ที่มีค่าฟิลด์มากกว่าจำนวนที่ระบุและดึงข้อมูลเหล่านั้น -

> 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 }