মোংডোবিতে .bon ফাইল ফর্ম্যাট কীভাবে আমদানি করবেন


162

আমি সার্ভারে ডেটাবেসটি mongodumpকমান্ড ব্যবহার করে রফতানি করেছি এবং ডাম্প .bsonফাইলের মধ্যে সঞ্চয় করা আছে । mongorestoreকমান্ডটি ব্যবহার করে আমার স্থানীয় সার্ভারে এটি আমদানি করা দরকার । তবে এটি কাজ করছে না। সঠিক mongorestoreআদেশ কি এবং অন্যান্য কি কি tools to restore db?

উত্তর:


342

একটি .bson ফাইল আমদানি করা খুব সহজ :

mongorestore -d db_name -c collection_name /path/file.bson

কেবলমাত্র একটি একক সংগ্রহের জন্য অন্তর্ভুক্ত করুন this এটি চেষ্টা করুন:

mongorestore --drop -d db_name -c collection_name /path/file.bson

রফতানি করা সম্পূর্ণ ফোল্ডার পুনরুদ্ধারের জন্য mongodump:

mongorestore -d db_name /path/

4
mongoexportআপনি যদি কেবল একক সংগ্রহ রফতানি করেন তবে এর মাধ্যমে রফতানি করা বিএসএন ফাইলের জন্যও দরকারী । mongoimportআমাকে "অবৈধ চরিত্র" ত্রুটি দিচ্ছিল। ধন্যবাদ!
ডিভিলিলিউসেজগুলি

4
সিনট্যাক্সেরর: নিখোঁজ;
জবাবের

3
হতে পারে আপনি যুক্ত করতে পারেন যে এই কমান্ডগুলি কমান্ড প্রম্পট থেকে চালানো হবে, মঙ্গো কনসোল থেকে নয়। এটি নতুন ব্যবহারকারীদের সহায়তা করবে
ড্রিমস

2
এই উত্তরে যুক্ত করা হচ্ছে। তাদের জন্য যারা দূরবর্তীভাবে কোনও বিসন ফাইল পুনরুদ্ধার করতে চান। Mongorestore -h [host] -u [user] -p [pass] -d [database] -c [collection] [bson file]
জেপ্পি

1
ধন্যবাদ এটি আমার সম্পূর্ণ ফোল্ডারের জন্য কাজ করেছে tar.gz থেকে এক্সট্রাক্ট করার পরে
যাদব

63

mongorestoreযে বিএসএন ফাইলগুলি ফেলে দেওয়া হয়েছিল তা আমদানি করার জন্য ব্যবহৃত সরঞ্জাম mongodump

ডক্স থেকে :

মঙ্গোস্টোর মঙ্গডাম্প থেকে আউটপুট নেয় এবং এটি পুনরুদ্ধার করে।

উদাহরণ:

# On the server run dump, it will create 2 files per collection
# in ./dump directory:
# ./dump/my-collection.bson
# ./dump/my-collection.metadata.json
mongodump -h 127.0.0.1 -d my-db -c my-collection

# Locally, copy this structure and run restore.
# All collections from ./dump directory are picked up.
scp user@server:~/dump/**/* ./
mongorestore -h 127.0.0.1 -d my-db

আমার কি dump/dbName/collectionName.bsonফোল্ডার কাঠামো রাখা দরকার ? আমি ব্যবহার করেছি mongodumpতবে এখন আমি mongorestoreএটি একটি দূরবর্তী লিনাক্স বাক্স ব্যবহার করে আমদানি করতে চাই ।
কেভিন মেরেডিথ

@ কেভিন: আমি সত্যনিষ্ঠ, নিশ্চিত নই, তবে আমি তা অনুমানও করব। ফোল্ডার কাঠামোর পাশাপাশি ফাইলগুলি স্থানান্তর করতে কোনও এফটিপি প্রোগ্রাম ব্যবহার করবেন?
ক্যামেরন

5
নন-ডাম্প ফোল্ডার নামটি ব্যবহার করে আমি সাফল্যের সাথে একটি মঙ্গো ডিবি আমদানি করতে সক্ষম হয়েছি:mongorestore --collection people --db accounts myDump/accounts/people.bson
কেভিন মেরেডিথ

35
bsondump collection.bson > collection.json

এবং তারপর

mongoimport -d <dbname> -c <collection> < collection.json

7
mongoimport and mongoexport do not reliably preserve all rich BSON data types because JSON can only represent a subset of the types supported by BSON. As a result, data exported or imported with these tools may lose some measure of fidelity.
মঙ্গোডিবির

হাঁ। এটি চীনা / জাপানি চরিত্রগুলিকে বিভ্রান্ত করে।
ব্যবহারকারী 2619824

10

কমান্ড লাইন থেকে নিম্নলিখিতটি চালান এবং আপনার মঙ্গো বিন ডিরেক্টরিতে থাকা উচিত।

mongorestore -d db_name -c collection_name path/file.bson


9

আপনাকে এই মংগস্টোর কমান্ডটি সিএমডি এর মাধ্যমে চালাতে হবে মঙ্গো শেলের উপর নয় ... নীচের কমান্ডটি একবার দেখুন ...

এই কমান্ডটি সেন্টিমিডে চালাও (মোংগো শেলের উপর নয়)

>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson

মঙ্গোদব এর বিন ফোল্ডারের অভ্যন্তরের path\to\mongorestore.exeপথ এখানে mongorestore.exe। dbname ডেটাবসের নাম। collection_nameকালেকশন.বসনের নাম। path\to\same\collection.bsonএই সংগ্রহ পর্যন্ত পথ।

এখন মঙ্গো শেল থেকে আপনি যাচাই করতে পারবেন ডেটাবেস তৈরি হয়েছে কি না (যদি এটি উপস্থিত না থাকে তবে সংগ্রহের সাথে একই নামের ডেটাবেস তৈরি করা হবে)।


4

কেউ যদি এখনও মঙ্গোরেস্টোরের সাথে লড়াই করে থাকে তবে কেবলমাত্র রেফারেন্সের জন্য।

আপনাকে টার্মিনাল / কমান্ড প্রম্পটে মনোগোরেস্টোর চালাতে হবে এবং মঙ্গো কনসোলে নয়।

$ mongorestore -d db_name /path_to_mongo_dump/

আরও তথ্যের জন্য আপনি অফিসিয়াল ডকুমেন্টেশনগুলি দেখতে পারেন

https://docs.mongodb.com/manual/reference/program/mongorestore/


2

যদি আপনার অ্যাক্সেস দূর থেকে হয় তবে আপনি এটি করতে পারেন

বনসনের জন্য:

mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people "/home/${USER}/people.bson"

.gz (gzip) ফর্ম্যাটে সংক্ষিপ্ত বাসনগুলির জন্য:

mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people --gzip --dir "/home/${USER}/people.bson.gz"

1

মংগেরস্টোর -ডি ডিবি_নাম / পাথ /

আপনি এই প্রশ্নটি মঙ্গোডিবি'র বিন ফোল্ডারে চালাচ্ছেন তা নিশ্চিত করুন

সি: \ প্রোগ্রাম ফাইলগুলি \ মঙ্গোডিবি \ সার্ভার \ 4.2 \ বিন -

তারপরে এই উপরের কমান্ডটি চালান।


0

আমি এটি ব্যবহার করেছি:

mongorestore -d databasename -c file.bson fullpath/file.bson

বৈশিষ্ট্যগুলি থেকে ফাইলের পাথ এবং ফাইলের নাম কপি করুন (সমস্ত বিসোন ফাইলকে বিভিন্ন ফোল্ডারে রাখার চেষ্টা করুন), ২. কেবলমাত্র ফাইলের নাম পরিবর্তন করে এটি বারবার ব্যবহার করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.