• 0

حفظ نتيجة الاستعلام من موجه الأوامر إلى ملف في mongodb

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

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 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() )

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 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

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن