سؤال

أحتاج إلى الحصول على قائمة بالقطع بعد الاشجار داخل رمز Java الخاص بي.الرمز الخاص بي بسيط ويبدو أن هذا:

giveacodicetagpre.

دعوة Eval () إرجاع خطأ:

giveacodicetagpre.

، وفي الحقيقة، إذا نظرنا إلى رمز DB.JS، في السطر 891، هناك مكالمة إلى طريقة PrintshardingStatus () غير محدد داخل ملف.داخل طريقة SH.Status () في ملف Utils_sh.js، هناك حتى تعليق:

/ todo: حرك العملة الفعلية هنا

من المهم الإشارة، عندما أقوم بتشغيل هذه الأوامر في سطر الأوامر Mongo، كل شيء يعمل بشكل صحيح!

أسئلتي هي:

  • هل هناك أي إمكانية أخرى للحصول على حالة شاردات كاملة داخل رمز Java؟(على سبيل المثال. مع طريقة DB.comMand ()
  • إذا لم يكن الأمر كذلك، فهذا اقتراحات أخرى كيفية تجنب مشكلتي؟
هل كانت مفيدة؟

المحلول

العديد من وظائف HELPER's HELPER غير متوفرة لتنفيذ التعليمات البرمجية من جانب الخادم. في حالة printShardingStatus()، فمن المنطقي لأنه لا توجد وحدة تحكم لاستخدامها لطباعة الإخراج، وكنت تفضل الحصول على سلسلة عاد. لحسن الحظ، يجب أن تكون قادرا على سحب مصدر وظيفة SHELT وإعادة تشغيله في طلبك (E.G. قم بتسليم سلسلة عاد بدلا من الطباعة مباشرة).

giveacodicetagpre.

لذلك، دعونا نلقي نظرة على وظيفة GransoSodicetagCode ...

giveacodicetagpre.

قبل تشغيل جميع بيانات الإخراج في سلسلة سلسلة، كنت ترغب في التأكد من أن طرق DB الأخرى متاحة لك. من الحكمة الأداء، أعتقد أن الخيار الأفضل هو منفذ Insinards من هذه الوظيفة إلى Java وتجنب تقييم Server-Side JS تماما. إذا كنت تغوص أعمق في وظيفة GransoSodicetAchode، فسترى أنها مجرد إصدار printShardingStatus() على قاعدة بيانات التكوين مع بعض استفسارات الأجيال.

إذا كنت ترغب في الالتزام بتقييم JS ولم يفضل عدم الاحتفاظ بهذا الرمز ضمن تطبيق Java الخاص بك، يمكنك أيضا النظر في تخزين JS وظائف Server-Server .

نصائح أخرى

هل قمت بنشر مجموعة شارد بشكل صحيح؟ إذا كان الأمر كذلك، فيمكنك الاتصال بقاعدة بيانات Mongo التي تم تمكينها الشاردات.

حاول الاتصال بالطريقة DB.PrintshardingStatus () مع قاعدة البيانات هذه داخل شل منغو ومعرفة ما يحدث.

على ما يبدو "PrintshardStatus" وظيفة JavaScript إلا متاحة فقط للقذائف Mongo وليس لتنفيذ أوامر الخادم، لمعرفة الرمز بدء تشغيل البرمجية واكتب "PrintShardingStatus" فقط واضغط على ENTER.

في هذه الحالة، فإن كتابة طريقة تمديد ستكون الأفضل لحل هذا ...

طريقة JavaScript لطباعة إخراج استعلام MongoDB إلى ملف

1] قم بإنشاء ملف JavaScript

test.js

giveacodicetagpre.

2] تشغيل

giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top