Tamim Fahed نشر 21 يونيو 2021 أرسل تقرير مشاركة نشر 21 يونيو 2021 لدي مستندات بالشكل التالي: { "_id" : ObjectId("fc1054ffa7540f346c3e7086"), "username" : "betman999", "role" : "User", "__v" : 0 } كيف يمكنني إيجاد جميع المستندات التي لها نفس قيمة الحقل username؟ أي طباعة المستخدمين الذين لهم نفس اسم المستخدم 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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}} ]) اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Tamim Fahed
لدي مستندات بالشكل التالي:
{ "_id" : ObjectId("fc1054ffa7540f346c3e7086"), "username" : "betman999", "role" : "User", "__v" : 0 }
كيف يمكنني إيجاد جميع المستندات التي لها نفس قيمة الحقل username؟ أي طباعة المستخدمين الذين لهم نفس اسم المستخدم
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.