মঙ্গোডিবিতে কীভাবে সমস্ত সংগ্রহ রফতানি করবেন?


319

আমি কমান্ড দ্বারা মঙ্গোডিবিতে সমস্ত সংগ্রহ রফতানি করতে চাই:

mongoexport -d dbname -o Mongo.json

ফলাফল:
কোনও সংগ্রহ নির্দিষ্ট করা হয়নি!

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

http://docs.mongodb.org/manual/reference/mongoexport/#cmdoption-mongoexport--collection

আমার মঙ্গোডিবি সংস্করণটি 2.0.6।


2
আপনি মঙ্গোডিবি এর কোন সংস্করণ ব্যবহার করছেন? মঙ্গোএক্সপোর্টের উইকি ডকুমেন্টেশনটি পরামর্শ দেয় যে এটি কোনও সংগ্রহ রফতানির জন্য একটি কমান্ড লাইন সরঞ্জাম। সম্ভবত একাধিক সংগ্রহ রফতানি করার ক্ষমতাটি আরও নতুন সংস্করণের জন্য? আপনি যদি কোনও ডাটাবেসে সমস্ত সংগ্রহের ব্যাকআপ নিতে চান তবে মংডাম্প সমস্ত সংগ্রহ BSON এ রফতানি করবে।
স্টেনি

1
দেখে মনে হচ্ছে যে সমস্ত সংগ্রহের জন্য মঙ্গোএক্সপোর্ট ব্যবহার করার বিকল্পটি একটি পরিকল্পিত বৈশিষ্ট্যযুক্ত যা এখনও নির্ধারিত হয়নি: সার্ভার -২০ .. সুতরাং সম্পূর্ণ ডেটাবেস রফতানির জন্য মঙ্গোডম্প বর্তমানে আপনার সেরা বিকল্প। মোঙ্গোডিবি ক্লায়েন্ট ড্রাইভারগুলির মধ্যে একটি ব্যবহার করে মঙ্গোএক্সপোর্টের সমতুল্য লেখা খুব কঠিন হবে না ।
স্টেনি

2
আপনার গ্রহণযোগ্য হিসাবে একটি উত্তর চিহ্নিত করা উচিত। আমার ভোট স্ট্যাকওভারফ্লো.com
জন মানকো

রেকর্ডের জন্য, মঙ্গোডিবি ডকুমেন্টেশন স্টেটস পূর্ণ উদাহরণ উত্পাদন ব্যাকআপের জন্য মঙ্গোইম্পোর্ট এবং মঙ্গোএক্সপোর্ট ব্যবহার করা এড়িয়ে চলুন। তারা সমস্ত সমৃদ্ধ BSON ডেটা প্রকারগুলি নির্ভরযোগ্যভাবে সংরক্ষণ করে না, কারণ জেএসএন কেবলমাত্র বিএসওএন দ্বারা সমর্থিত ধরণের একটি উপসেট উপস্থাপন করতে পারে। এই ধরণের কার্যকারিতার জন্য মঙ্গোডিবি ব্যাকআপ পদ্ধতিতে বর্ণিত মোংডাম্প এবং মংগস্টোর ব্যবহার করুন। সুতরাং এটি কেবল অলস লোকের জন্য নয় যেমন মেন্টর রেকা বলেছেন যে এটি করা পছন্দসই পদ্ধতিও।
সামুরাই_জেন

উত্তর:


687

অলস লোকের জন্য, ব্যবহার করুন mongodump, এটি দ্রুত:

mongodump -d <database_name> -o <directory_backup>

এবং এটি "পুনরুদ্ধার / আমদানি" করতে (ডিরেক্টরি_ব্যাকআপ / ডাম্প / থেকে):

mongorestore -d <database_name> <directory_backup>

এইভাবে, আপনাকে পৃথকভাবে সমস্ত সংগ্রহের সাথে ডিল করার দরকার নেই। শুধু ডাটাবেস নির্দিষ্ট করুন।

নোট করুন যে আমি বড় ডেটা স্টোরগুলির জন্য mongodump/ ব্যবহার করার বিরুদ্ধে সুপারিশ করব । এটি খুব ধীরে ধীরে এবং একবার আপনি 10/20 গিগাবাইট ডেটা পেয়ে গেলে পুনরুদ্ধার করতে কয়েক ঘন্টা সময় নিতে পারে।mongorestore


2
JSON এবং BSON এর মধ্যে কোনও সামঞ্জস্যতার সমস্যা নেই?
জুলিয়ানআর

5
২.২ সংস্করণ বা পরবর্তী সংস্করণ থেকে মঙ্গোডাম্প দ্বারা ব্যবহৃত ডেটা ফর্ম্যাটটি মঙ্গোডের পূর্ববর্তী সংস্করণগুলির সাথে সঙ্গতিপূর্ণ নয়। পুরানো ডেটা স্টোরগুলির ব্যাক আপ নিতে মঙ্গোডাম্পের সাম্প্রতিক সংস্করণগুলি ব্যবহার করবেন না।
n0n স্মোকার

4
আমি বিশ্বাস করি যে রিস্টোর কমান্ডটি হ'ল "মংগেরস্টোর-বি ড্যাটাবেস।
থমাস ডেকাউক্স

47
"মংগেরস্টোর -ড ডাটাবেস।
ডাম্প-

2
@ লুকাসিটিব
জিম

60

আমি এটির জন্য বাশ স্ক্রিপ্ট লিখেছিলাম। এটি কেবলমাত্র 2 টি প্যারামিটার (ডাটাবেসের নাম, ফাইলগুলি সঞ্চয় করার জন্য ডায়ার) দিয়ে চালান।

#!/bin/bash

if [ ! $1 ]; then
        echo " Example of use: $0 database_name [dir_to_store]"
        exit 1
fi
db=$1
out_dir=$2
if [ ! $out_dir ]; then
        out_dir="./"
else
        mkdir -p $out_dir
fi

tmp_file="fadlfhsdofheinwvw.js"
echo "print('_ ' + db.getCollectionNames())" > $tmp_file
cols=`mongo $db $tmp_file | grep '_' | awk '{print $2}' | tr ',' ' '`
for c in $cols
do
    mongoexport -d $db -c $c -o "$out_dir/exp_${db}_${c}.json"
done
rm $tmp_file

1
আমদানি করতে: for file in *.json; do c=${file#*exp_yourdbname_}; c=${c%.json}; mongoimport --db yourdbname --collection "${c}" --file "${file}"; done
ব্র্যাডফোর্ড

আমি ব্যাচ স্ক্রিপ্ট ব্যবহার করে .csv আমদানি করতে চাই, আপনার কি কোনও ধারণা আছে?
প্রশান্ত জয়া

29

সার্ভার থেকে মংডাম্প তৈরি করতে নীচের পদক্ষেপগুলি অনুসরণ করুন এবং এটির অন্য একটি সার্ভার / স্থানীয় মেশিন আমদানি করুন যার একটি ব্যবহারকারীর নাম এবং একটি পাসওয়ার্ড রয়েছে

1. mongodump -d dbname -o dumpname -u username -p password
2. scp -r user@remote:~/location/of/dumpname ./
3. mongorestore -d dbname dumpname/dbname/ -u username -p password

27

মোংডাম্প ব্যবহার করে সমস্ত সংগ্রহ রফতানি করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন

mongodump -d database_name -o directory_to_store_dumps

পুনরুদ্ধার করতে এই কমান্ডটি ব্যবহার করুন

mongorestore -d database_name directory_backup_where_mongodb_tobe_restored

আমি করেছি mongodump -d mongo -o path\to\Desktop\blogএবং আমি SyntaxError: missing ; before statementসিএমডি থেকে একটি পেয়েছি। :(
রাজ্জান জামফির

18

আপনি কোথায় আপনার মঙ্গো ডিবি ইনস্টল করেছেন দয়া করে আমাদের জানান? (হয় উবুন্টু বা উইন্ডোতে)

  • উইন্ডোজ জন্য:

    1. রফতানির আগে আপনাকে অবশ্যই সিএমডি প্রম্পটে আপনার মঙ্গো ডিবিতে সংযুক্ত করতে হবে এবং নিশ্চিত করতে হবে যে আপনি আপনার স্থানীয় হোস্টের সাথে সংযোগ করতে সক্ষম হয়েছেন।
    2. এখন একটি নতুন সিএমডি প্রম্পট খুলুন এবং নীচের কমান্ডটি কার্যকর করুন,

    মোংডাম্প - ডিবি ডাটাবেসের নাম - সংরক্ষণের জন্য পথ
    যেমন: মোংডাম্প - ডিবি মাইডিবি - আউট সি: \ টেম্প \ op.json

    1. পরিদর্শন https://www.youtube.com/watch?v=hOCp3Jv6yKo আরো বিস্তারিত জানার জন্য।
  • উবুন্টুর জন্য:

    1. আপনার টার্মিনালটিতে লগইন করুন যেখানে মঙ্গো ডিবি ইনস্টল রয়েছে এবং নিশ্চিত হন যে আপনি নিজের মঙ্গো ডিবিতে সংযোগ করতে সক্ষম হয়েছেন।
    2. এখন একটি নতুন টার্মিনাল খুলুন এবং নীচের কমান্ডটি কার্যকর করুন,

    মংডাম্প-ডি ডাটাবেসের নাম - ফাইলের নাম সংরক্ষণ করুন
    যেমন: মোংডাম্প -ড মাইডিবি -ও আউটপুট.জসন

    1. পরিদর্শন https://www.youtube.com/watch?v=5Fwd2ZB86gg আরো বিস্তারিত জানার জন্য।

12

পূর্ববর্তী উত্তরগুলি এটি ভালভাবে ব্যাখ্যা করেছে, আপনি যদি প্রত্যন্ত পাসওয়ার্ড সুরক্ষিত ডাটাবেস নিয়ে কাজ করে থাকেন তবে আমি সাহায্য করতে আমার উত্তর যুক্ত করছি

mongodump --host xx.xxx.xx.xx --port 27017 --db your_db_name --username your_user_name --password your_password --out /target/folder/path

10

আপনি যদি mongolab.com এর মতো কোনও রিমোট মঙ্গোডিবি সার্ভারটি সংযোগ করতে চান তবে আপনার সংযোগের শংসাপত্রগুলি যেমন পাস করা উচিত।

mongoexport -h id.mongolab.com:60599 -u username -p password -d mydb -c mycollection -o mybackup.json

2
এই সমাধানটি সেরা কারণ এটি মূল প্রশ্নের সঠিকভাবে উত্তর দেয়।
ttemple

মনে রাখবেন যে এটি সমস্ত সমৃদ্ধ BSON ডেটা প্রকারগুলি নির্ভরযোগ্যভাবে সংরক্ষণ করে না, কারণ জেএসএন কেবল বিএসওএন দ্বারা সমর্থিত ধরণের একটি উপসেট উপস্থাপন করতে পারে। এই ধরণের কার্যকারিতার জন্য মঙ্গোডিবি ব্যাকআপ পদ্ধতিতে বর্ণিত মোংডাম্প এবং মংগস্টোর ব্যবহার করুন । ( দস্তাবেজ )
জেড খোলা

8

আপনি যদি বসন বিন্যাসের সাথে ঠিক থাকেন তবে একই ধরণের পতাকা সহ আপনি মঙ্গোডাম্প ইউটিলিটিটি ব্যবহার করতে পারেন। এটি বিসন ফর্ম্যাটে সমস্ত সংগ্রহ ডাম্প ডিরেক্টরিতে (ডিফল্ট, -o বিকল্পের মাধ্যমে পরিবর্তন করা যেতে পারে) ফেলে দেবে। তারপরে আপনি এই মঙ্গোরস্টোর ইউটিলিটিটি ব্যবহার করে এই ফাইলগুলি আমদানি করতে পারেন।


8

আপনি mongo --eval 'printjson(db.getCollectionNames())'সংগ্রহগুলির তালিকা পেতে ব্যবহার করতে পারেন এবং তারপরে সেগুলির উপরে একটি মঙ্গোএক্সপোর্ট করতে পারেন। রুবীর উদাহরণ এখানে

  out = `mongo  #{DB_HOST}/#{DB_NAME} --eval "printjson(db.getCollectionNames())"`

  collections = out.scan(/\".+\"/).map { |s| s.gsub('"', '') }

  collections.each do |collection|
    system "mongoexport --db #{DB_NAME}  --collection #{collection}  --host '#{DB_HOST}' --out #{collection}_dump"
  end

এটি দুর্দান্ত, তবে আপনি সম্ভবত আউট লোকেদের চান an out.scan(/\".+?\"/).map { |s| s.gsub('"', '') }
কেসি

8

আমার উইন্ডোজ ব্যাচের স্ক্রিপ্ট সংস্করণ দরকার ছিল। এই থ্রেডটি দরকারী ছিল, তাই আমি ভেবেছিলাম আমি এটিতে আমার উত্তরটিও অবদান রাখব।

mongo "{YOUR SERVER}/{YOUR DATABASE}" --eval "rs.slaveOk();db.getCollectionNames()" --quiet>__collections.txt
for /f %%a in ('type __collections.txt') do @set COLLECTIONS=%%a
for %%a in (%COLLECTIONS%) do mongoexport --host {YOUR SERVER} --db {YOUR DATABASE} --collection %%a --out data\%%a.json
del __collections.txt

আমার কয়েকটি সমস্যা ছিল set /p COLLECTIONS=<__collections.txt, তাই বিহীন for /fপদ্ধতিটি ব্যবহার করে ।


8

আমি প্রচুর সংশ্লেষিত উদাহরণ চেষ্টা করার পরে দেখতে পেলাম যে খুব সহজ পদ্ধতিটি আমার পক্ষে কাজ করেছিল।

আমি কেবল স্থানীয় থেকে একটি ডিবি ডাম্প নিতে এবং এটি একটি দূরবর্তী উদাহরণে আমদানি করতে চেয়েছিলাম:

স্থানীয় মেশিনে:

mongodump -d databasename

তারপরে আমি আমার সার্ভার মেশিনে আমার ডাম্প স্কিপি করব:

scp -r dump user@xx.xxx.xxx.xxx:~

তারপরে ডাম্পের পিতা মাতার কাছ থেকে সহজভাবে:

mongorestore 

এবং এটি ডাটাবেস আমদানি করে।

ধরে নিচ্ছি মংগডব পরিষেবা অবশ্যই চলছে।


7

আপনি যদি চান তবে আপনি সমস্ত সংগ্রহগুলি নির্দিষ্ট করে ছাড়াই সিএসভিতে রফতানি করতে পারবেন --fields(সমস্ত ক্ষেত্র রফতানি করবে)।

Http://drzon.net/export-mongodb-collections-to-csv-without-specifying-fields/ থেকে এই বাশ স্ক্রিপ্টটি চালান

OIFS=$IFS;
IFS=",";

# fill in your details here
dbname=DBNAME
user=USERNAME
pass=PASSWORD
host=HOSTNAME:PORT

# first get all collections in the database
collections=`mongo "$host/$dbname" -u $user -p $pass --eval "rs.slaveOk();db.getCollectionNames();"`;
collections=`mongo $dbname --eval "rs.slaveOk();db.getCollectionNames();"`;
collectionArray=($collections);

# for each collection
for ((i=0; i<${#collectionArray[@]}; ++i));
do
    echo 'exporting collection' ${collectionArray[$i]}
    # get comma separated list of keys. do this by peeking into the first document in the collection and get his set of keys
    keys=`mongo "$host/$dbname" -u $user -p $pass --eval "rs.slaveOk();var keys = []; for(var key in db.${collectionArray[$i]}.find().sort({_id: -1}).limit(1)[0]) { keys.push(key); }; keys;" --quiet`;
    # now use mongoexport with the set of keys to export the collection to csv
    mongoexport --host $host -u $user -p $pass -d $dbname -c ${collectionArray[$i]} --fields "$keys" --csv --out $dbname.${collectionArray[$i]}.csv;
done

IFS=$OIFS;

6

আপনি যদি সমস্ত ডাটাবেসে সমস্ত সংগ্রহগুলি ডাম্প করতে চান (যা মূল প্রশ্নকারীর অভিপ্রায়টির বিস্তৃত ব্যাখ্যা) তবে ব্যবহার করুন

mongodump

সমস্ত ডাটাবেস এবং সংগ্রহগুলি 'বর্তমান' অবস্থানে 'ডাম্প' নামে একটি ডিরেক্টরিতে তৈরি করা হবে


6

আপনি এটি মোংডাম্প কমান্ড ব্যবহার করে করতে পারেন

পদক্ষেপ 1: কমান্ড প্রম্পট ওপেন করুন

পদক্ষেপ 2: আপনার মঙ্গোডিবি ইনস্টলেশনটির বিন ফোল্ডারে যান (সি: \ প্রোগ্রাম ফাইলগুলি \ মঙ্গোডিবি \ সার্ভার \ 4.0 \ বিন)

পদক্ষেপ 3: তারপরে নিম্নলিখিত কমান্ডটি কার্যকর করুন

mongodump -d your_db_name -o destination_path

আপনার_ডিবি_নাম = পরীক্ষা

গন্তব্য_পথ = সি: \ ব্যবহারকারী \ এইচপি। ডেস্কটপ

রফতানি করা ফাইলগুলি গন্তব্য_পথ \ আপনার_ডিবি_নাম ফোল্ডারে তৈরি করা হবে (এই উদাহরণে সি: \ ব্যবহারকারীদের এইচপি \ ডেস্কটপ \ পরীক্ষা)

তথ্যসূত্র: o7planning


5

আমি বুঝতে পারি যে এটি বেশ পুরানো প্রশ্ন এবং যদি আপনি সূচকগুলি সহ 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সূচকগুলি পুনরায় তৈরি করার জন্য তার সাধারণ কলগুলি করার অনুমতি দিচ্ছি ।


5

আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে জিপ ফাইল তৈরি করতে পারেন t এটি ডিবেস database dbname} এর জিপ ফাইল তৈরি করবে You আপনি পরে নিম্নলিখিত জিপ ফাইলটি মঙ্গো ডিবিতে আমদানি করতে পারেন।

Window filepath=C:\Users\Username\mongo 

mongodump --archive={filepath}\+{filename}.gz --gzip --db {dbname}

আরও স্পষ্টতার জন্য নিম্নলিখিত তথ্য ব্যবহার করুন ডকস.মংডব.কম
ম্যানুয়াল /

3

রফতানি করা ডাটাবেস পুনরুদ্ধার করার সময় আমার জন্য কী কাজ করেছে তা এখানে:

mongorestore -d 0 ./0 --drop

যেখানে। / রফতানি করা বিসন ফাইলগুলি সংরক্ষণ করে। নোট করুন যে --dropবিদ্যমান ডেটা ওভাররাইট করবে।


3

আপনি যদি ডাটাবেস থেকে প্রতিটি সংগ্রহ রফতানি / আমদানি করতে মঙ্গোএক্সপোর্ট এবং মঙ্গোইম্পোর্ট ব্যবহার করতে চান তবে আমার মনে হয় এই ইউটিলিটিটি আপনার পক্ষে সহায়ক হতে পারে। আমি একই রকম ইউটিলিটি কয়েকবার ব্যবহার করেছি;

LOADING=false

usage()
{
    cat << EOF
    usage: $0 [options] dbname

    OPTIONS:
        -h      Show this help.
        -l      Load instead of export
        -u      Mongo username
        -p      Mongo password
        -H      Mongo host string (ex. localhost:27017)
EOF
}

while getopts "hlu:p:H:" opt; do
    MAXOPTIND=$OPTIND

    case $opt in 
        h)
            usage
            exit
            ;;
        l)
            LOADING=true
            ;;
        u)
            USERNAME="$OPTARG"
            ;;
        p) 
            PASSWORD="$OPTARG"
            ;;
        H)
            HOST="$OPTARG"
            ;;
        \?)
            echo "Invalid option $opt"
            exit 1
            ;;
    esac
done

shift $(($MAXOPTIND-1))

if [ -z "$1" ]; then
    echo "Usage: export-mongo [opts] <dbname>"
    exit 1
fi

DB="$1"
if [ -z "$HOST" ]; then
    CONN="localhost:27017/$DB"
else
    CONN="$HOST/$DB"
fi

ARGS=""
if [ -n "$USERNAME" ]; then
    ARGS="-u $USERNAME"
fi
if [ -n "$PASSWORD" ]; then
    ARGS="$ARGS -p $PASSWORD"
fi

echo "*************************** Mongo Export ************************"
echo "**** Host:      $HOST"
echo "**** Database:  $DB"
echo "**** Username:  $USERNAME"
echo "**** Password:  $PASSWORD"
echo "**** Loading:   $LOADING"
echo "*****************************************************************"

if $LOADING ; then
    echo "Loading into $CONN"
    tar -xzf $DB.tar.gz
    pushd $DB >/dev/null

    for path in *.json; do
        collection=${path%.json}
        echo "Loading into $DB/$collection from $path"
        mongoimport $ARGS -d $DB -c $collection $path
    done

    popd >/dev/null
    rm -rf $DB
else
    DATABASE_COLLECTIONS=$(mongo $CONN $ARGS --quiet --eval 'db.getCollectionNames()' | sed 's/,/ /g')

    mkdir /tmp/$DB
    pushd /tmp/$DB 2>/dev/null

    for collection in $DATABASE_COLLECTIONS; do
        mongoexport --host $HOST -u $USERNAME -p $PASSWORD -db $DB -c $collection --jsonArray -o $collection.json >/dev/null
    done

    pushd /tmp 2>/dev/null
    tar -czf "$DB.tar.gz" $DB 2>/dev/null
    popd 2>/dev/null
    popd 2>/dev/null
    mv /tmp/$DB.tar.gz ./ 2>/dev/null
    rm -rf /tmp/$DB 2>/dev/null
fi

2

আপনি যদি সার্ভারের সমস্ত ডিবিএসকে ব্যাকআপ করতে চান তবে, ডিবিএস ডেকে আনার চিন্তা না করে নিম্নলিখিত শেল স্ক্রিপ্টটি ব্যবহার করুন:

#!/bin/sh

md=`which mongodump`
pidof=`which pidof`
mdi=`$pidof mongod`
dir='/var/backup/mongo'

if [ ! -z "$mdi" ]
   then
        if [ ! -d "$dir" ]
           then
               mkdir -p $dir
           fi
        $md --out $dir >/dev/null 2>&1
   fi

এটি মঙ্গোডাম্প ইউটিলিটি ব্যবহার করে, যা নির্দিষ্ট না করে সমস্ত ডিবি ব্যাকআপ নেবে।

আপনি এটিকে আপনার ক্রোনজবহে রাখতে পারেন এবং এটি কেবল তখনই চলবে যদি মংড প্রক্রিয়াটি চলমান থাকে। এটি উপস্থিত না থাকলে ব্যাকআপ ডিরেক্টরিও তৈরি করবে।

প্রতিটি ডিবি ব্যাকআপ পৃথক ডিরেক্টরিতে লেখা হয়, যাতে আপনি বিশ্বব্যাপী ডাম্প থেকে পৃথক ডিবি পুনরুদ্ধার করতে পারেন।


2

প্রথমে মঙ্গো ডিবি শুরু করুন - এর জন্য -> হিসাবে যান

সি: \ প্রোগ্রাম ফাইলগুলি \ মঙ্গোডিবি \ সার্ভার \ 3.2 \ বিন এবং মঙ্গোডবি সার্ভারটি শুরু করতে মোংড.এক্সি ফাইলটিতে ক্লিক করুন ।

রফতানি করতে উইন্ডোজ কমান্ড

  • অভ্যন্তরীণ আইপি ঠিকানা এবং পোর্ট সহ দূরবর্তী সার্ভার থেকে "রিমোট-সার্ভার" থেকে স্থানীয় মেশিনে উইন্ডোজে মঙ্গোডিবি ডাটাবেস রফতানি করার আদেশ।

সি:> মঙ্গোডাম্প - হোস্ট রিমোট_আইপি_এড্রেস: 27017 --ডিবি -ও সি: / ব্যবহারকারী / ডেস্কটপ / টেম্প-ফোল্ডার

উইন্ডোতে আমদানি করতে কমান্ড

  • স্থানীয় মেশিন ডিরেক্টরি থেকে উইন্ডোতে "রিমোট-সার্ভার" থেকে মঙ্গোডিবি ডাটাবেস আমদানির আদেশ সি: / ব্যবহারকারী / ডেস্কটপ / টেম্প-ফোল্ডার / ডিবি-ডির

সি:> মংগেরস্টোর - হোস্ট = আইপি --পোর্ট = 27017-ডি সি: / ব্যবহারকারী / ডেস্কটপ / টেম্প-ফোল্ডার / ডিবি-ডির


1
#mongodump using sh script 
#!/bin/bash
TIMESTAMP=`date +%F-%H%M`
APP_NAME="folder_name"
BACKUPS_DIR="/xxxx/tst_file_bcup/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
/usr/bin/mongodump -h 127.0.0.1 -d <dbname> -o $BACKUPS_DIR/$APP_NAME/$BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUPS_DIR/$APP_NAME/$BACKUP_NAME
rm -rf /home/wowza_analytics_bcup/wowza_analytics/wowza_analytics
### 7 days old backup delete automaticaly using given command

find /home/wowza_analytics_bcup/wowza_analytics/ -mindepth 1 -mtime +7 -delete

0
  1. সংযোগটি খুলুন
  2. সার্ভারটি শুরু করুন
  3. নতুন কমান্ড প্রম্পট খুলুন

রপ্তানি:

mongo/bin> mongoexport -d webmitta -c domain -o domain-k.json

আমদানি:

mongoimport -d dbname -c newCollecionname --file domain-k.json

কোথায়

webmitta(db name)
domain(Collection Name)
domain-k.json(output file name)

এটি রফতানির জন্য মঙ্গোএক্সপোর্ট
সিরিল ডুচন-ডরিস

5
প্রশ্নটি সমস্ত সংগ্রহ রফতানি সম্পর্কে ।
জেজেজে

0

আপনি যা করতে চান তার উপর নির্ভর করে একাধিক বিকল্প রয়েছে

1) আপনি যদি অন্য ডেঙ্গু ডাটাবেসে আপনার ডাটাবেস রফতানি করতে চান তবে আপনার ব্যবহার করা উচিত mongodump। এটি BSON ফাইলগুলির একটি ফোল্ডার তৈরি করে যার মেটাডেটা জেএসএনের নেই।

mongodump
mongorestore --host mongodb1.example.net --port 37017 dump/

২) আপনি যদি JSON এ আপনার ডাটাবেস রফতানি করতে চান তবে একবারে একটি করে সংগ্রহ করার প্রয়োজন ব্যতীত আপনি এটি ব্যবহার করতে পারেন mongoexport(এটি ডিজাইনের মাধ্যমে)। তবে আমি মনে করি পুরো ডেটাবেসটি দিয়ে রফতানি করা mongodumpএবং তারপরে জেএসএনে রূপান্তর করা সবচেয়ে সহজ ।

# -d is a valid option for both mongorestore and mongodump

mongodump -d <DATABASE_NAME>
for file in dump/*/*.bson; do bsondump $file > $file.json; done

0

ডাম্পের জন্য, আপনার ডিবি নীচে সিএমডি পতন করবে

   mongodump -d <your d name> -o <dump path>
Ex:mongodump -d qualetics -o D:\dbpackup\qualetics

-3

JSON ফর্ম্যাটে রফতানি করতে আপনি দেখতে পাচ্ছেন এমন আদেশগুলি অনুসরণ করে এটি করুন।

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