Tamim Fahed نشر 3 يوليو 2021 أرسل تقرير مشاركة نشر 3 يوليو 2021 لدي عدد كبير من المستندات ضمن مجموعة (users) بهذا الشكل: { date: '2020-12-12', username: 'test1', email: 'test@test.com' } .... كيف يمكنني إخراج مجموعة من هؤلاء المستخدمين (السجلات) إلى collection أخرى ضمن نفس قاعدة البيانات؟ 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Sam Ahw نشر 3 يوليو 2021 أرسل تقرير مشاركة نشر 3 يوليو 2021 يمكن إجراء ذلك من خلال الكود البرمجي عن طريق تنفيذ عمليات الإدخال إلى المجموعة الجديدة ضمن حلقة تكرارية، ويمكنك وضع الشرط المناسب ضمن الاستعلام في هذه الحلقة، مثال مبسّط: find({date:"2020-12-12"}).forEach(function(doc){ db.newColl.insert(doc); }); بحيث يتم إضافة هذه المستندات المحققة للشرط على المجموعة الجديدة newColl. ومن خلال الإصدارات الجديدة ل mongodb أصبح بإمكانك تنفيذ ذلك ضمن shell نفسها من خلال استخدام خاصية التجميع aggregation والمعامل out بالشكل التالي: db.originalCol.aggregate([ { $match: { date: "2020-12-12" } }, { $out: "newCollection" } ]) اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 عبدالباسط ابراهيم نشر 3 يوليو 2021 أرسل تقرير مشاركة نشر 3 يوليو 2021 يمكنك استخدام insert و toArray لتنفيذ المطلوب كالتالي db.subset.insert(db.full_set.find({date:"20120105"}).toArray()) ولكن إذا كان لديك عدد كبير من المستندات يفضل استخدام ال aggregation كما في التعليق السابق حيث تعتبر أسرu من الحل المعتمد على find و insert بشكل كبير اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Tamim Fahed
لدي عدد كبير من المستندات ضمن مجموعة (users) بهذا الشكل:
{ date: '2020-12-12', username: 'test1', email: 'test@test.com' } ....
كيف يمكنني إخراج مجموعة من هؤلاء المستخدمين (السجلات) إلى collection أخرى ضمن نفس قاعدة البيانات؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.