Tamim Fahed نشر 3 يوليو 2021 أرسل تقرير نشر 3 يوليو 2021 لدي عدد كبير من المستندات ضمن مجموعة (users) بهذا الشكل: { date: '2020-12-12', username: 'test1', email: 'test@test.com' } .... كيف يمكنني إخراج مجموعة من هؤلاء المستخدمين (السجلات) إلى collection أخرى ضمن نفس قاعدة البيانات؟ 1 اقتباس
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" } ]) اقتباس
1 عبدالباسط ابراهيم نشر 3 يوليو 2021 أرسل تقرير نشر 3 يوليو 2021 يمكنك استخدام insert و toArray لتنفيذ المطلوب كالتالي db.subset.insert(db.full_set.find({date:"20120105"}).toArray()) ولكن إذا كان لديك عدد كبير من المستندات يفضل استخدام ال aggregation كما في التعليق السابق حيث تعتبر أسرu من الحل المعتمد على find و insert بشكل كبير اقتباس
السؤال
Tamim Fahed
لدي عدد كبير من المستندات ضمن مجموعة (users) بهذا الشكل:
{ date: '2020-12-12', username: 'test1', email: 'test@test.com' } ....
كيف يمكنني إخراج مجموعة من هؤلاء المستخدمين (السجلات) إلى collection أخرى ضمن نفس قاعدة البيانات؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.