Tamim Fahed نشر 4 يوليو 2021 أرسل تقرير نشر 4 يوليو 2021 لدي مجموعة من المستندات وأحاول الحصول على مجموع عناصر مصفوفة بهيئة حقل جديد بشكل مشابه للتالي: { "department": 1, "Count employees" : {$size : "$employees" } } ولكن يظهر لي الخطأ التالي: The argument to $size must be an Array, but was of type: EOO فهل يوجد طريقة لوضع القيمة 0 في حال كان العنصر فارغاً وتجاهل الخطأ السابق؟ 3 اقتباس
1 محمد أبو عواد نشر 4 يوليو 2021 أرسل تقرير نشر 4 يوليو 2021 يمكنك استخدام العامل ifNull هنا. يبدو أن الحقل إما أنه ليس مصفوفة أو غير موجود , يمكنك استخدامه كالتالي { "department": 1, "Count employees" : {"$size": { "$ifNull": [ "$"$employees"", [] ] } } } اقتباس
1 عبدالله عبدالرحمن11 نشر 4 يوليو 2021 أرسل تقرير نشر 4 يوليو 2021 من MongoDB 3.2 والإصدارات الأحدث ، يمكنك استخدامه $isArray للتحقق مما إذا كان الحقل عبارة عن مصفوفة جنبًا إلى جنب مع $cond عامل التشغيل لإرجاع الحقل عند التقييم باستخدام $isArray: { "$project": { "people": 1, "myFieldArrayCount": { "$size": { "$cond": [ { "$isArray": "$myFieldArray" }, "$myFieldArray", [] ] } } }} اقتباس
1 Wael Aljamal نشر 4 يوليو 2021 أرسل تقرير نشر 4 يوليو 2021 يمكن عدم السماح للوثيقة document أن تحمل قيم فارغة null باستخدام مايشبه الشرط التالي: $match: { myFieldArray: { $elemMatch: { $exists: true } ^^^^^^^^^^^^^ ضمان وجود قيمة للكائن } } ولتمرير قيمة خاصية عليك استخدام معامل المرجعية '$' كالتالي: $project: { "department": 1, "employees":1, "Count employees" : {$size : "$employees" } } 1 اقتباس
السؤال
Tamim Fahed
لدي مجموعة من المستندات وأحاول الحصول على مجموع عناصر مصفوفة بهيئة حقل جديد بشكل مشابه للتالي:
{ "department": 1, "Count employees" : {$size : "$employees" } }
ولكن يظهر لي الخطأ التالي:
The argument to $size must be an Array, but was of type: EOO
فهل يوجد طريقة لوضع القيمة 0 في حال كان العنصر فارغاً وتجاهل الخطأ السابق؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.