Tamim Fahed نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 لدي مستندات بالشكل التالي: { "_id" : ObjectId("fc1054ffa7540f346c3e7086"), "username" : "betman999", "role" : "User", "__v" : 0 } كيف يمكنني إيجاد جميع المستندات التي لها نفس قيمة الحقل username؟ أي طباعة المستخدمين الذين لهم نفس اسم المستخدم 1 اقتباس
0 Wael Aljamal نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 يمكن ذلك من خلال تطبيق aggregate: db.collection.aggregate([ {"$group" : { "_id": "$username", "count": { "$sum": 1 } } }, {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, {"$project": {"username" : "$_id", "_id" : 0} } ]); سيتم من خلال الاستدعاء السابق جلب جميع المستندات التي تعداد تجميع الخاصية username لها أكبر من 1 اقتباس
0 عبدالله عبدالرحمن11 نشر 24 يونيو 2021 أرسل تقرير نشر 24 يونيو 2021 يمكنك الحصول على قائمة الأسماء المكررة بعمل aggregate تجميع Group كل السجلات الذي لها نفس قيمة الحقل username مطابقة Match هذه المجموعات groups الي لديها سجلات أكبر من 1 ثم تجميع group مرةً أخرى الى project كل الأسماء المكررة كمصفوفة array الكود db.collection.aggregate([ {$group:{"_id":"$username","name":{$first:"$username"},"count":{$sum:1}}}, {$match:{"count":{$gt:1}}}, {$project:{"name":1,"_id":0}}, {$group:{"_id":null,"duplicateNames":{$push:"$username"}}}, {$project:{"_id":0,"duplicateNames":1}} ]) اقتباس
السؤال
Tamim Fahed
لدي مستندات بالشكل التالي:
{ "_id" : ObjectId("fc1054ffa7540f346c3e7086"), "username" : "betman999", "role" : "User", "__v" : 0 }
كيف يمكنني إيجاد جميع المستندات التي لها نفس قيمة الحقل username؟ أي طباعة المستخدمين الذين لهم نفس اسم المستخدم
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.