মঙ্গো সংগ্রহটি JSON ফর্ম্যাটে ফেলে দিন


119

মঙ্গো সংগ্রহকে জসন ফর্ম্যাটে ফেলে দেওয়ার কোনও উপায় আছে কি? হয় শেল বা জাভা ড্রাইভার ব্যবহার করে। আমি সেরা পারফরম্যান্স সহ একজনকে খুঁজছি।


mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase adminআপনি নির্দিষ্ট করতে পারেন host, port, username, passwordএই এবং ডিফল্ট প্রমাণীকরণ ডাটাবেস মত admin
ম্যাক্স পেঙ্গ

উত্তর:


177

মঙ্গোতে একটি মঙ্গোএক্সপোর্ট ইউটিলিটি রয়েছে (দস্তাবেজগুলি দেখুন) যা কোনও সংগ্রহ ডাম্প করতে পারে। এই ইউটিলিটিটি নেটিভ লম্বমঙ্গোক্লিয়েন্ট ব্যবহার করে এবং সম্ভবত এটি দ্রুততম পদ্ধতি।

mongoexport -d <database> -c <collection_name>

সহায়ক:

-o: ফাইল আউটপুট লিখুন, অন্যথায় স্ট্যান্ডার্ড আউটপুট ব্যবহৃত হয় ( ডক্স )

--jsonArray: প্রতি লাইনে একটি জসন বস্তুর পরিবর্তে একটি বৈধ জেসন ডকুমেন্ট তৈরি করে ( ডক্স )

--pretty: আউটপুট ফর্ম্যাট করা জসন ( ডক্স )


8
কোন ডেটাবেস ব্যবহার করতে হবে তা নির্দিষ্ট করতে -d পতাকা ব্যবহার করুন।
রেইমন্ড

8
আপনি যদি প্রিন্টেড JSON চান (উদাহরণস্বরূপ উন্নয়নের সময় একটি সংগ্রহ পরিদর্শন করতে চান) --prettyপতাকাটি ব্যবহার করুন :mongoexport -d mydatabase -c mycollection --pretty
ম্যাক্স ট্রুক্সা

6
মঙ্গো যদি অন্য কোনও হোস্টে অবস্থিত থাকে, তবে মঙ্গো ডকের একটি উদাহরণ এখানে রয়েছে mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
What এ কি শীতল হবে?

দেখে মনে হচ্ছে --prettyসংস্করণটি ২.6.১০ হিসাবে চলে গেছে।
আইসড ওয়াটার

115

কোনও সংগ্রহ ডাম্প / পুনরুদ্ধার করতে মঙ্গোএক্সপোর্ট / মঙ্গোইম্পোর্ট ব্যবহার করুন:

JSON ফাইল রফতানি করুন :

mongoexport --db <database-name> --collection <collection-name> --out output.json

JSON ফাইল আমদানি করুন :

mongoimport --db <database-name> --collection <collection-name> --file input.json

সতর্কতা অবলম্বন করুন mongoimportএবং mongoexportসমস্ত সমৃদ্ধ BSON ডেটা প্রকারগুলি নির্ভরযোগ্যভাবে সংরক্ষণ করবেন না কারণ JSON কেবলমাত্র BSON দ্বারা সমর্থিত ধরণের একটি উপসেট উপস্থাপন করতে পারে। ফলস্বরূপ, এই সরঞ্জামগুলির সাথে রফতানি বা আমদানীকৃত ডেটা কিছুটা বিশ্বস্ততা হারাতে পারে।

এছাড়াও, http://bsonspec.org/

BSON এনকোড এবং ডিকোড করার জন্য দ্রুত হতে ডিজাইন করা হয়েছে। উদাহরণস্বরূপ, পূর্ণসংখ্যা 32 (বা 64) বিট পূর্ণসংখ্যার হিসাবে সংরক্ষণ করা হয়, সুতরাং তাদের পাঠ্যে এবং প্রবেশ করার দরকার নেই। এটি ছোট পূর্ণসংখ্যার জন্য JSON এর চেয়ে বেশি স্থান ব্যবহার করে, তবে পার্স করতে খুব দ্রুত।

কমপ্যাক্টনেস ছাড়াও, বিএসওএন জেএসএন-তে অতিরিক্ত ডেটা প্রকারগুলি অনুপলভ্য করে যোগ করে, উল্লেখযোগ্যভাবে বিনদাটা এবং তারিখের ডেটা টাইপ।


1
কোন "সমৃদ্ধ BSON ডেটা" কোনও চক্র mongoexport/ mongoimportবেড়াতে বেঁচে থাকতে পারে না তার উদাহরণ রয়েছে ?
অ্যান্ড্রুডটন

1
এটি তারিখ এবং বাইনারিগুলির মতো ডেটা ধরণের জন্য সমর্থন যোগ করে যা JSON এ সমর্থিত নয়। এছাড়াও, দ্রুত এনকোডিং এবং ডিকোডিংয়ের জন্য bsonspec.org
চৌহান

5

রেফারেন্সের জন্য খনি কমান্ডটি এখানে:

mongoexport --db AppDB --collection files --pretty --out output.json

উইন্ডোজ 7 (MongoDB 3.4) উপর, এক জায়গায় যেখানে cmd কমান্ড সরানো হয়েছে mongod.exeএবং mongo.exeফাইল বসবাস => C:\MongoDB\Server\3.4\binআর এটা বলার অপেক্ষা রাখে কাজ করবে না এটা না recongnize mongoexportকমান্ড।


আমদানি করার সময় মঙ্গোডিবি প্রত্যাশা করে এমন "ফর্মাল সিঙ্গেল লাইনে নো কমা" ফর্ম্যাটে সাধারণ জসনকে ফর্ম্যাট করবে এমন ফর্ম্যাটরের কথা কি কেউ জানেন?
কনর 909

3

মঙ্গোর নথি থেকে:

মঙ্গোএক্সপোর্ট ইউটিলিটি সংগ্রহ সংগ্রহ করে এবং জেএসওএন বা সিএসভিতে রফতানি করে। আপনি ক্যোয়ারির জন্য একটি ফিল্টার বা আউটপুট থেকে ক্ষেত্রের একটি তালিকা নির্দিষ্ট করতে পারেন

এখানে আরও পড়ুন: http://www.mongodb.org/display/DOCS/mongoexport


-2

আপনি যদি সমস্ত সংগ্রহ ডাম্প করতে চান তবে এই কমান্ডটি চালান:

mongodump -d {DB_NAME}   -o /tmp 

এটি এতে সমস্ত সংগ্রহের ডেটা তৈরি করবে json এবং bsonমধ্যে এক্সটেনশন /tmp/{DB_NAME}ডিরেক্টরি


প্রকৃতপক্ষে এটি এখনও বিসন এবং মেটাডেটা.এসসন ডাম্পিং করছে :-(
প্রসাদ

9
এই উত্তরটি ভুল। ফর্ম্যাট mongodumpতথ্য আউটপুট BSON। অন্যান্য উত্তর সঠিকভাবে mongoexportসঠিক সরঞ্জাম হিসাবে উল্লেখ করা হয়।
খ্রিস্টান ডিকেরি

এটি আমার জন্য কাজ করছে, এটি বিসন এবং জসন ফাইলগুলির সাথে সমস্ত সংগ্রহকে একটি টিএমপি ফোল্ডারে আউটপুট করছে। আমি মঙ্গোডাম্প -d {dbname} -o tmp ব্যবহার করেছি
shyamzzp
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.