$log (اللوغاريتم)
آخر تحديث: 2026-10-09
$log (اللوغاريتم)
يُرجع $log لوغاريتم عدد بأساس محدد. يأخذ وسيطتين: القيمة والأساس. على خلاف $ln و $log10 و $log2، يُحدد الأساس بالوسيطة الثانية، لذا $log: [8, 2] يُرجع 3. وهو يغطي احتياجات اللوغاريتمات ذات الأساس المخصص. يجب أن تكون كل من القيمة والأساس أكبر من 0، ويجب ألا يساوي الأساس 1؛ وأي وسيطة فارغة أو مفقودة تُنتج null. عندما يكون الأساس 10 أو 2 بالضبط، فضّل $log10 أو $log2 للوضوح.
| الفئة | الرياضيات |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $log: [ <value>, <base> ] }
⚙️ المعلمات
| قيمة رقمية | تعبير رقمي موجب يُحسب لوغاريتمه. |
|---|---|
| الأساس | أساس اللوغاريتم؛ يجب أن يكون أكبر من 0 ولا يساوي 1. |
القيمة المرجعة:اللوغاريتم بالأساس المعطى؛ null إذا كانت المعاملات غير صالحة أو null أو مفقودة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $log: لوغاريتم بالأساس 2
db.sales.aggregate([
{ $project: {
log2x: { $log: ['$amount', 2] }
} }
])
المخرجات:
{ '_id': 1, 'log2x': 6.643856189774724 }
{ '_id': 2, 'log2x': 4.321928094887363 }
📌 ملاحظات
- يجب أن تكون كل من القيمة والأساس أكبر من 0، وألا يكون الأساس 1
- بالنسبة للأساسين 10 و 2، يبدو $log10 و $log2 أوضح
- الوسائط غير الصالحة أو المفقودة تُرجع null بدلًا من رمي خطأ
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qكيف أحدد الأساس لـ $log؟
Aالوسيطة الثانية هي الأساس، لذا $log: [8, 2] يُرجع 3.
Qهل يمكن أن يكون أساس $log هو 1؟
Aلا — الأساس 1 يجعل اللوغاريتم غير معرّف ويُرجع null.
Qكيف يختلف $log عن $ln؟
A$log يأخذ أساسًا قابلًا للضبط بينما $ln ثابت عند الأساس e.