تقدم هذه الفصل مقدمة عن خط أنابيب التجميع في MongoDB، والذي يُستخدم بشكل رئيسي للتحليل الإحصائي، مشابه لعبارة group by
في SQL. في سطر MongoDB، يتم تحقيق التحليل الإحصائي من خلال وظيفة db.collection.aggregate()
.
المفهوم
خط الأنابيب للتجميع هو مفهوم مجرد يعامل البيانات كالماء تتدفق في أنبوب. يمكننا معالجة البيانات في عدة مراحل داخل الأنبوب. بمجرد معالجة البيانات في مرحلة ما، يتم تمرير النتائج المعالجة إلى المرحلة التالية للمزيد من المعالجة.
أمثلة على تطبيق خط الأنابيب للتجميع في التحليل الإحصائي:
- في المرحلة الأولى، يتم استرداد دفعة من بيانات المستندات من المجموعة استنادًا إلى شروط معينة.
- في المرحلة الثانية، يتم تجميع بيانات المستندات المستردة وتجميعها.
- في المرحلة الثالثة، يتم فرز البيانات المجمعة من المرحلة الثانية.
العملية بأكملها تشبه عملية الأنبوب حيث تتدفق البيانات من طرف واحد من الأنبوب، تخضع للمعالجة من خلال عدة مراحل، ثم تخرج نتيجة نهائية.
العمليات المدعومة في خط الأنابيب لـ MongoDB
فيما يلي العمليات المدعمة الشائعة في خط الأنابيب لـ MongoDB:
العملية | الوصف |
---|---|
$match | يُستخدم في مرحلة $match لتصفية بيانات المستند استنادًا إلى شروط معينة، مشابه لشرط where في SQL. |
$group | تُستخدم مرحلة $group لتجميع بيانات المستند وتجميعها، مشابهة لعبارة group by في SQL. |
$sort | يستخدم لفرز البيانات. |
خطوات استخدام خط الأنابيب للتجميع
عادةً ما تنطوي على ثلاث خطوات:
- تصفية البيانات المستهدفة باستخدام $match.
- تجميع وتجميع البيانات باستخدام $group.
- فرز النتائج باستخدام $sort (اختياري).
مثال:
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
])
المكافئ في SQL:
select sum(amount) as total from orders
where status="A"
group by cust_id
order by total desc
ملاحظة: لمزيد من المعلومات حول التحليل الإحصائي للتجميع، يرجى الرجوع إلى الفصول التالية.