Mongodb: كيفية استخدام أكبر من وأقل من الاستعلامات


يمكنك استخدام عوامل التشغيل التالية في MongoDB للاستعلام لأعلى أو لأسفل:

  • $lt : أقل من
  • $lte : أقل من أو يساوي
  • $gt : أكبر من
  • $gte : أكبر من أو يساوي

توضح الطرق التالية الطرق الشائعة لاستخدام عوامل التشغيل هذه:

الطريقة الأولى: أكبر من الاستعلام

 db.myCollection.find({field1: { $gt : 25 }})

الطريقة الثانية: أقل من الاستعلام

 db.myCollection.find({field1: { $lt : 25 }})

الطريقة الثالثة: الاستعلام عن أكبر من وأقل من

 db.myCollection.find({field1: { $gt : 25 , $lt : 32 }})

الطريقة الرابعة: الاستعلام أكبر من أو أقل من

 db.myCollection.find({ " $or ": [ {" field1 ": { $gt : 30 }}, {" field1 ": { $lt : 20 }} ] })

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع فريق التحصيل مع المستندات التالية:

 db.teams.insertOne({team: " Mavs ", points: 31})
db.teams.insertOne({team: " Spurs ", points: 22})
db.teams.insertOne({team: " Rockets ", points: 19})
db.teams.insertOne({team: " Warriors ", points: 26})
db.teams.insertOne({team: " Cavs ", points: 33})

مثال 1: استعلام أكبر من

يوضح التعليمة البرمجية التالية كيفية الاستعلام عن جميع المستندات التي تكون قيمتها في حقل “النقاط” أكبر من 25:

 db.teams.find({points: { $gt : 25 }})

يقوم هذا الاستعلام بإرجاع المستندات التالية:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

لاحظ أن كل مستند من مستندات الإخراج الثلاثة له قيمة في حقل “النقاط” أكبر من 25.

مثال 2: استعلام أقل من

يوضح الكود التالي كيفية الاستعلام عن كافة المستندات التي تكون قيمتها في حقل “النقاط” أقل من 25:

 db.teams.find({points: { $lt : 25 }})

يقوم هذا الاستعلام بإرجاع المستندات التالية:

 { _id: ObjectId("6203e4a91e95a9885e1e7650"),
  team: 'Spurs',
  points: 22 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }

لاحظ أن كلا المستندين الناتجين لهما قيمة في حقل “النقاط” أقل من 25.

مثال 3: أكبر من وأصغر من

يوضح الكود التالي كيفية الاستعلام عن جميع المستندات التي تكون قيمتها في حقل “النقاط” أكبر من 25 وأقل من 32:

 db.teams.find({points: { $gt : 25 , $lt : 32 }})

يقوم هذا الاستعلام بإرجاع المستندات التالية:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }

لاحظ أن كلا المستندين الناتجين لهما قيمة في حقل “النقاط” أكبر من 25 وأقل من 32.

مثال 4: أكبر من أو أقل من

يوضح التعليمة البرمجية التالية كيفية الاستعلام عن جميع المستندات التي تكون قيمتها في حقل “النقاط” أكبر من 30 أو أقل من 20:

 db.teams.find({ " $or ": [ {" points ": { $gt : 30 }}, {" points ": { $lt : 20 }} ] })

يقوم هذا الاستعلام بإرجاع المستندات التالية:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

لاحظ أن كل مستند من مستندات الإخراج له قيمة في حقل “النقاط” أكبر من 30 أو أقل من 20.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:

MongoDB: كيفية الاستعلام باستخدام نطاق زمني
MongoDB: كيفية استخدام استعلام “NO IN”.
MongoDB: كيفية البحث عن “غير فارغ” في حقل معين

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *