MongoDB مستند الاستعلام: db.collection.find() مع مثال
⚡ ملخص ذكي
MongoDB تسترجع عمليات الاستعلام عن المستندات السجلات من مجموعة باستخدام الدالة db.collection.find(). تُرجع هذه الدالة جميع المستندات افتراضيًا، وتقبل معايير التصفية مثل مطابقة الحقول وعامل $gt، وتُنسق النتائج باستخدام الأمر forEach(printjson).

طريقة جلب أو الحصول على البيانات من أ MongoDB يتم تنفيذ قاعدة البيانات باستخدام MongoDB الاستعلامات. أثناء إجراء عملية الاستعلام، يمكنك أيضًا استخدام المعايير أو الشروط التي يمكن استخدامها لاسترجاع بيانات محددة من قاعدة البيانات.
MongoDB يوفر وظيفة تسمى db.collection.find () والذي يستخدم لاسترجاع الوثائق من أ MongoDB قاعدة البيانات.
خلال هذا MongoDB البرنامج التعليمي للاستعلام، سترى كيف يتم استخدام هذه الوظيفة بطرق مختلفة لتحقيق الغرض من استرداد المستندات.
ما هي وظيفة db.collection.find() في MongoDB?
تُعد طريقة db.collection.find() الطريقة الأساسية لقراءة المستندات من MongoDB عند استدعاء هذه الدالة بدون أي وسيط، فإنها تُعيد جميع المستندات الموجودة في المجموعة. أما عند تمرير كائن استعلام، فإنها تُعيد فقط المستندات التي تُطابق المعايير المُحددة، مما يُتيح لك استرجاع البيانات التي تحتاجها بدقة.
تُعيد هذه الطريقة مؤشرًا، وهو عبارة عن مُؤشِّر إلى مجموعة النتائج وليس إلى المستندات نفسها. عادةً ما يتم المرور عبر المؤشر لعرض النتائج، وغالبًا ما يُستخدم forEach(printjson) لعرض كل مستند بصيغة JSON قابلة للقراءة. إذا كنت تحتاج إلى سجل واحد فقط، MongoDB كما توفر الدالة findOne()، التي تُعيد أول مستند مطابق بدلاً من المؤشر. وتُغطي الدالتان find() و findOne() معًا معظم عمليات القراءة في MongoDB قاعدة البيانات، بدءًا من جلب مجموعات كاملة وحتى التصفية حسب قيم حقول محددة.
MongoDB الاستعلام الأساسي Operaستعقد
الأساسية MongoDB تغطي مشغلات الاستعلام العمليات البسيطة مثل الحصول على جميع المستندات في MongoDB مجموعة. دعونا نلقي نظرة على مثال db.collection.find لكيفية تحقيق ذلك.
سيتم تشغيل جميع التعليمات البرمجية الخاصة بنا في MongoDB Javaسيناريو قذيفة الأوامر. ضع في اعتبارك أن لدينا مجموعة تسمى "الموظف" في موقعنا MongoDB قاعدة البيانات ونقوم بتنفيذ الأمر أدناه.

Code التفسير:
- الموظف هو اسم المجموعة في MongoDB قاعدة بيانات
- استخدم MongoDB يعد استعلام البحث وظيفة مضمنة تُستخدم لاسترداد المستندات الموجودة في المجموعة.
إذا تم تنفيذ الأمر بنجاح، سيتم عرض الناتج التالي لـ MongoDB العثور على مثال
الإخراج:
يُظهر الإخراج جميع المستندات الموجودة في المجموعة.
يمكننا أيضًا إضافة معايير إلى استعلاماتنا حتى نتمكن من جلب المستندات بناءً على شروط معينة.
MongoDB مثال الاستعلام – 1
دعونا نلقي نظرة على اثنين من MongoDB الاستعلام عن أمثلة لكيفية تحقيق ذلك.
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
Code التفسير:
- نريد هنا البحث عن موظف اسمه "سميث" في المجموعة، ومن ثم نقوم بإدخال معايير التصفية باسم اسم الموظف: "سميث"
إذا تم تنفيذ الأمر بنجاح، سيتم عرض الناتج التالي
الإخراج:
يُظهر الإخراج أنه يتم إرجاع المستند الذي يحتوي على "Smith" كاسم الموظف فقط.
MongoDB مثال الاستعلام – 2
الآن في هذا MongoDB البرنامج التعليمي للاستعلامات، دعنا نلقي نظرة على مثال تعليمي برمجي آخر يستخدم معايير أكبر من البحث. عند تضمين هذا المعيار، فإنه يبحث فعليًا في المستندات التي تكون قيمة الحقل فيها أكبر من القيمة المحددة.
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
Code التفسير:
- هنا نريد أن نجد جميع الموظفين الذين يكون معرفهم أكبر من 2. يسمى $gt عامل اختيار الاستعلام، وكل ما يعنيه هو استخدام تعبير أكبر من.
إذا كان MongoDB تم تنفيذ أمر تحديد الحقول بنجاح، وسيتم عرض الناتج التالي
الإخراج:
يتم إرجاع جميع المستندات التي يكون فيها معرف الموظف أكبر من 2.
MongoDB سؤال Operaالاختصاصات
MongoDB تُستخدم عوامل تحديد الاستعلام داخل معايير البحث لتصفية المستندات. تتيح لك هذه العوامل مطابقة النطاقات والقوائم والنفي بدلاً من القيم المطابقة تمامًا. يوضح الجدول أدناه أكثر العوامل شيوعًا:
| المُشغل | معنى | مثال |
|---|---|---|
| جي تي | اعظم من | {Employeeid: {$gt: 2}} |
| لتر | Less من | {Employeeid: {$lt: 5}} |
| gte دولار | أكبر من أو يساوي | {age: {$gte: 18}} |
| $ لت | Less من أو يساوي | {age: {$lte: 60}} |
| $ ne | لا يساوي | {status: {$ne: “active”}} |
| $ in | يطابق أي قيمة في القائمة | {dept: {$in: [“HR”,”IT”]}} |
يمكنك أيضًا دمج الشروط باستخدام $and و$or لإنشاء استعلامات أكثر دقة. يضمن اختيار المعامل المناسب كفاءة الاستعلامات وإرجاع المستندات التي يحتاجها تطبيقك فقط.
كيفية استخدام الإسقاط مع دالة البحث ()
بشكل افتراضي، تُعيد الدالة find() المستند بأكمله، بما في ذلك جميع الحقول. في كثير من الأحيان، لا تحتاج إلا إلى بضعة حقول، مثل الاسم أو المعرّف. MongoDB يتيح لك التحكم في هذا من خلال الإسقاط، وهو وسيط ثان يتم تمريره إلى find() والذي يسرد الحقول المراد تضمينها أو استبعادها.
لتضمين حقول محددة فقط، عيّن قيمتها إلى 1 في كائن الإسقاط. يُرجع الاستعلام التالي حقل اسم الموظف فقط لكل مستند:
db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);
MongoDB يُعيد هذا البرنامج دائمًا حقل _id ما لم تقم باستبعاده صراحةً. لإخفائه، عيّن قيمة _id إلى 0.
db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);
يمكنك أيضًا استبعاد الحقول بدلاً من تضمينها عن طريق تعيين قيمتها إلى 0. على سبيل المثال، يُرجع الاستعلام أدناه جميع الحقول باستثناء حقل Employeeid:
db.Employee.find({}, {Employeeid: 0}).forEach(printjson);
تذكر أنه لا يمكنك الجمع بين تضمين البيانات واستبعادها في نفس عملية الإسقاط، باستثناء حقل _id. يقلل استخدام الإسقاط من حجم البيانات المنقولة من الخادم، مما يجعل الاستعلامات أسرع والاستجابات أسهل في القراءة، خاصةً في المستندات الكبيرة.



