Mongodb: كيفية اختيار عينة عشوائية من المستندات
يمكنك استخدام بناء الجملة التالي لتحديد عينة عشوائية من المستندات من مجموعة في MongoDB:
db.myCollection.aggregate([ { $sample : { size: 4 } } ])
يحدد هذا المثال بعينه عينة عشوائية مكونة من 4 مستندات من المجموعة المسماة myCollection .
لاختيار عينة عشوائية بحجم مختلف، ما عليك سوى تغيير القيمة في وسيطة الحجم .
يوضح المثال التالي كيفية استخدام هذه الصيغة عمليًا مع فريق التحصيل الذي لديه المستندات السبعة التالية:
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}) db.teams.insertOne({team: " Hornets ", points: 30}) db.teams.insertOne({team: " Nets ", points: 14})
مثال: حدد عينة عشوائية من المستندات في MongoDB
يوضح الكود التالي كيفية اختيار عينة عشوائية مكونة من 4 مستندات من مجموعة الفرق :
db.teams.aggregate([ { $sample : { size: 4 } } ])
يقوم هذا الاستعلام بإرجاع المستندات التالية:
{ _id: ObjectId("6203ee711e95a9885e1e765d"), team: 'Cavs', points: 33 } { _id: ObjectId("6203ee711e95a9885e1e765b"), team: 'Rockets', points: 19 } { _id: ObjectId("6203ee711e95a9885e1e7659"), team: 'Mavs', points: 31 } { _id: ObjectId("6203ee711e95a9885e1e765f"), team: 'Nets', points: 14 }
لاحظ أنه تم تضمين الفرق الأربعة التالية في هذه العينة العشوائية:
- تجار النبيذ
- الصواريخ
- مافس
- شبكات
إذا استخدمنا الدالة $sample مرة أخرى، فسوف تقوم باختيار عينة عشوائية أخرى من المستندات، مما يعني أنه لا يوجد ضمان باختيار نفس مجموعة المستندات.
على سبيل المثال، لنفترض أننا اخترنا عينة عشوائية أخرى مكونة من 4 مستندات من مجموعة الفريق :
db.teams.aggregate([ { $sample : { size: 4 } } ])
يقوم هذا الاستعلام بإرجاع المستندات التالية:
{ _id: ObjectId("6203ee711e95a9885e1e765b"), team: 'Rockets', points: 19 } { _id: ObjectId("6203ee711e95a9885e1e765f"), team: 'Nets', points: 14 } { _id: ObjectId("6203ee711e95a9885e1e765e"), team: 'Hornets', points: 30 } { _id: ObjectId("6203ee711e95a9885e1e765c"), team: 'Warriors', points: 26 }
تم تضمين الفرق الأربعة التالية في هذه العينة العشوائية:
- الصواريخ
- شبكات
- هورنتس
- المحاربون
لاحظ أن هذه العينة العشوائية لا تتطابق تمامًا مع العينة العشوائية في المثال السابق.
ملحوظة : يمكنك العثور على الوثائق الكاملة للدالة $sample هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
MongoDB: كيفية التحقق مما إذا كان الحقل يحتوي على سلسلة
MongoDB: كيفية استخدام استعلام “NO IN”.
MongoDB: كيفية الاستعلام عن “NOT NULL” في حقل معين