আমি বুঝতে পারি যে এটি বেশ পুরানো প্রশ্ন এবং যদি আপনি সূচকগুলি সহ 100% বিশ্বস্ত ফলাফল চান তবে এটি মঙ্গডাম্প / মঙ্গোস্টোর স্পষ্টভাবে সঠিক উপায় is
তবে, আমার একটি দ্রুত এবং নোংরা সমাধানের দরকার ছিল যা মঙ্গোডিবি-র পুরানো এবং নতুন সংস্করণের মধ্যে সামনের দিকে এবং পিছনের দিকে সামঞ্জস্যপূর্ণ হতে পারে, তবে বিশেষত জঘন্য কিছু হচ্ছে না provided এবং তার জন্য আমি মূল প্রশ্নের উত্তর চেয়েছিলাম।
উপরে অন্যান্য গ্রহণযোগ্য সমাধান রয়েছে, তবে এই ইউনিক্স পাইপলাইন তুলনামূলকভাবে সংক্ষিপ্ত এবং মিষ্টি:
mongo --quiet mydatabase --eval "db.getCollectionNames().join('\n')" | \
grep -v system.indexes | \
xargs -L 1 -I {} mongoexport -d mydatabase -c {} --out {}.json
এটি .json
প্রতিটি সংকলনের জন্য যথাযথভাবে নামযুক্ত ফাইল তৈরি করে।
নোট করুন যে ডাটাবেসটির নাম ("মাইডাটাবেস") দু'বার প্রদর্শিত হবে। আমি ধরে নিচ্ছি যে ডাটাবেস স্থানীয় এবং আপনার শংসাপত্রগুলি পাস করার দরকার নেই তবে এটি mongo
এবং উভয়ই দিয়ে করা সহজ mongoexport
।
নোট করুন যে আমি grep -v
বাতিল করতে ব্যবহার করছি system.indexes
, কারণ আমি চাই না যে মঙ্গোডিবি-র কোনও পুরানো সংস্করণ নতুন থেকে কোনও সিস্টেম সংগ্রহ ব্যাখ্যা করার চেষ্টা করবে। পরিবর্তে আমি আমার অ্যাপ্লিকেশনটিকে ensureIndex
সূচকগুলি পুনরায় তৈরি করার জন্য তার সাধারণ কলগুলি করার অনুমতি দিচ্ছি ।