اذهب إلى المحتوى

السؤال

نشر

أقوم باستعلام من خلال find ولكن النتيجة كبيرة جداً.

 فهل يوجد طريقة استطيع من خلالها حفظ نتيجة الاستعلام ضمن ملف بدلاً من إظهارها ضمن موجه الأوامر ؟ مع إمكانية إضافة الخاصية pretty للنتيجة.

Recommended Posts

  • 0
نشر

بما أن محرر الأوامر في mongodb تفاعلي يمكنك إجراء الأوامر التالية:

mongo dbname << EOF > output.json
db.collection.find().pretty()
EOF

أو بإمكانك الاستفادة من جافاسكريبت لأخذ نتيجة find وتحويلها إلى JSON:

mongo dbname mongoCommands.js > output.json

بعد أن يتم وضع الأمر ضمن الملف mongoCommands.js كالتالي:

printjson( db.collection.find().toArray() )

 

  • 0
نشر

يمكن تمرير ناتج تنفيذ تعليمة mongo باستخدام tee:

mongo | tee somefile

tee مسؤولة عن إعادة توجيه الخرج redirect output

كما يمكن استخدام الدالة writeFile مباشرة:

> writeFile("/home/for/output.txt", tojson(db.myCollection.find().toArray()))
                                           ^^^^^^^^^^ الاستعلام

 

  • 0
نشر

يمكنك إستخدام التالي من موجه الأوامر

mongo 127.0.0.1/db --eval "var c = db.collection.find(); while(c.hasNext()) {printjson(c.next())}" >> test.txt

بإفتراض أن قاعدة البيانات لديك تسمى  db وتعمل على المُضيف المحلي localhost ومجموعة تسمى collection ، هذا سيقوم بتصدير نتائج الإستعلام الى ملف test.txt

إذا كان لديك script أطول وتريد تنفيذه فيمكنك إنشاء ملف script.js وإستخدام

mongo 127.0.0.1/db script.js >> test.txt

وهذه طريقة أخرى

mongoexport --db products --collection clicks --query '{"createdInt":{$gte:20190101}, "clientId":"123", "country":"ES"}' --out clicks-2019.json

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...