MongoDB में सभी संग्रह कैसे निर्यात करें?


319

मैं कमांड द्वारा MongoDB में सभी संग्रह निर्यात करना चाहता हूं:

mongoexport -d dbname -o Mongo.json

परिणाम है:
कोई संग्रह निर्दिष्ट नहीं!

मैनुअल कहता है, यदि आप एक संग्रह निर्दिष्ट नहीं करते हैं, तो सभी संग्रह निर्यात किए जाएंगे।
हालाँकि, यह काम क्यों नहीं करता है?

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

मेरा MongoDB संस्करण 2.0.6 है।


2
MongoDB का आप किस संस्करण का उपयोग कर रहे हैं? Mongoexport के लिए विकी प्रलेखन से यह पता चलता है कि यह एक संग्रह के निर्यात के लिए एक कमांड लाइन उपकरण है। शायद एक नए संस्करण के लिए कई संग्रह निर्यात करने की क्षमता है? यदि आप किसी डेटाबेस में सभी संग्रह का बैकअप लेना चाहते हैं, तो mongodump सभी संग्रहों को BSON को निर्यात करेगा।
स्टेनी

1
ऐसा लगता है कि सभी संग्रहों के लिए मोंगोएक्सपोर्ट का उपयोग करने का विकल्प एक योजनाबद्ध रूप से प्रदर्शित है जिसे अभी तक निर्धारित नहीं किया गया है: SERVER-201 .. तो वर्तमान में एक पूर्ण डेटाबेस निर्यात करने के लिए आपके लिए सबसे अच्छा विकल्प है। MongoDB क्लाइंट ड्राइवरों में से किसी एक का उपयोग करके mongoexport के बराबर लिखना बहुत मुश्किल नहीं होगा ।
स्टेनी

2
आपको एक उत्तर को स्वीकार करना चाहिए। मेरा वोट stackoverflow.com/a/16605781/1686575 के लिए है
जॉन मेन्को

रिकॉर्ड के लिए, MongoDB प्रलेखन राज्यों पूर्ण उदाहरण उत्पादन बैकअप के लिए mongoimport और mongoexport प्रयोग से बचें। वे सभी समृद्ध BSON डेटा प्रकारों का सुरक्षित रूप से संरक्षण नहीं करते हैं, क्योंकि JSON केवल BSON द्वारा समर्थित प्रकारों के सबसेट का प्रतिनिधित्व कर सकता है। इस प्रकार की कार्यक्षमता के लिए MongoDB बैकअप मेथड्स में वर्णित मोंगोडम्प और मोंगोरस्टोर का उपयोग करें। तो यह सिर्फ आलसी लोगों के लिए नहीं है क्योंकि मेंटर रेका बताता है, बल्कि ऐसा करने का पसंदीदा तरीका भी है।
समुराई_जाने

जवाबों:


687

आलसी लोगों के लिए, उपयोग करें mongodump, यह तेज़ है:

mongodump -d <database_name> -o <directory_backup>

और इसे "पुनर्स्थापित / आयात" करने के लिए (directory_backup / डंप / से):

mongorestore -d <database_name> <directory_backup>

इस तरह, आपको व्यक्तिगत रूप से सभी संग्रहों से निपटने की आवश्यकता नहीं है। बस डेटाबेस निर्दिष्ट करें।

ध्यान दें कि मैं का उपयोग कर के खिलाफ की सिफारिश करेंगे mongodump/ mongorestoreके लिए बड़ा डेटा भंडार । यह बहुत धीमा है और एक बार जब आप पिछले 10 / 20GB डेटा प्राप्त करते हैं तो इसे पुनर्स्थापित करने में घंटों लग सकते हैं।


2
क्या JSON और BSON के बीच संगतता समस्या नहीं है?
जुलिएनफ्र

5
2.2 या बाद के संस्करण से मोंगोडम्प द्वारा उपयोग किया जाने वाला डेटा प्रारूप, मोंगॉड के पुराने संस्करणों के साथ असंगत है। पुराने डेटा स्टोर का बैकअप लेने के लिए हाल के संस्करणों का उपयोग न करें।
n0nSmoker

4
मेरा मानना ​​था कि पुनर्स्थापना कमांड "mongorestore -b DATABASE ./dump-folder" (जहाँ ?/dump-folder पथ या आपका निर्यात किया गया डेटा है)।
थॉमस डेकाक्स

47
"मोन्गोरेस्टोर -d DATABASE ./dump-folder"
keers

2
@LucaSteeb का उपयोग --excludeCollection = session
Zim

60

मैंने उसके लिए बैश स्क्रिप्ट लिखी। बस इसे 2 मापदंडों (डेटाबेस नाम, फ़ाइलों को संग्रहीत करने के लिए dir) के साथ चलाएं।

#!/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
ब्रैडफोर्ड

मैं आयात करना चाहता हूँ। बैच स्क्रिप्ट का उपयोग करके। u, क्या आपके पास कोई विचार है?
प्रशांत जया

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

कृपया हमें बताएं कि आपने अपना मानगो DB कहां स्थापित किया है? (या तो उबंटू में या विंडोज में)

  • विंडोज के लिए:

    1. निर्यात करने से पहले आपको cmd प्रॉम्प्ट में अपने Mongo DB से कनेक्ट होना चाहिए और सुनिश्चित करें कि आप अपने स्थानीय होस्ट से कनेक्ट करने में सक्षम हैं।
    2. अब एक नया cmd प्रॉम्प्ट खोलें और नीचे दिए गए कमांड को निष्पादित करें।

    mongodump --db डेटाबेस नाम -
    जैसे को बचाने के लिए पथ : mongodump --db mydb --out c: \ TEMP \ op.json

    1. यात्रा https://www.youtube.com/watch?v=hOCp3Jv6yKo अधिक जानकारी के लिए।
  • उबंटू के लिए:

    1. अपने टर्मिनल पर लॉगिन करें जहां Mongo DB स्थापित है और सुनिश्चित करें कि आप अपने Mongo DB से कनेक्ट करने में सक्षम हैं।
    2. अब एक नया टर्मिनल खोलें और नीचे दिए गए कमांड को निष्पादित करें,

    mongodump -d डेटाबेस नाम -o फ़ाइल नाम को बचाने के लिए
    जैसे: mongodump -d mydb -o output.json

    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

यदि आप दूरस्थ mongoDB सर्वर जैसे mongolab.com से कनेक्ट करना चाहते हैं, तो आपको कनेक्शन क्रेडेंशियल जैसे पास करना चाहिए।

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

2
यह समाधान सबसे अच्छा है क्योंकि यह मूल प्रश्न का ठीक से उत्तर देता है।
ttemple

ध्यान दें कि यह सभी समृद्ध बीएसओएन डेटा प्रकारों को मज़बूती से संरक्षित नहीं करता है, क्योंकि JSON केवल BSON द्वारा समर्थित प्रकारों के सबसेट का प्रतिनिधित्व कर सकता है। इस प्रकार की कार्यक्षमता के लिए MongoDB बैकअप मेथड में वर्णित मोंगोडम्प और मोंगोरस्टोर का उपयोग करें । ( डॉक्स )
जेड। खुल्ला

8

यदि आप bson प्रारूप के साथ ठीक हैं, तो आप उसी -d ध्वज के साथ mongodump उपयोगिता का उपयोग कर सकते हैं। यह डंप डायरेक्टरी (डिफ़ॉल्ट, -o विकल्प के माध्यम से परिवर्तित किया जा सकता है) के सभी संग्रहों को बेन्स प्रारूप में डंप कर देगा। फिर आप इन फ़ाइलों को mongorestore उपयोगिता का उपयोग करके आयात कर सकते हैं।


8

आप mongo --eval 'printjson(db.getCollectionNames())'संग्रह की सूची प्राप्त करने के लिए उपयोग कर सकते हैं और फिर उन सभी पर एक mongoexport कर सकते हैं। यहाँ एक उदाहरण है माणिक में

  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

यह अच्छा है, लेकिन आप शायद गैर-लालची होना चाहते हैं। 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

मैंने बहुत सारे जटिल उदाहरणों की कोशिश करने के बाद पाया कि मेरे लिए बहुत ही सरल दृष्टिकोण काम करता है।

मैं सिर्फ स्थानीय से एक db का डंप लेना चाहता था और इसे एक दूरस्थ उदाहरण पर आयात करता था:

स्थानीय मशीन पर:

mongodump -d databasename

तो मैं अपने सर्वर मशीन के लिए अपने डंप scp'd:

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

फिर डंप के मूल माता-पिता से:

mongorestore 

और उस डेटाबेस को आयात किया।

मानों मोंगोडब सेवा निश्चित रूप से चल रही है।


7

यदि आप चाहें, तो आप सभी संग्रह को बिना निर्दिष्ट किए सीएसवी को निर्यात कर सकते हैं --fields(सभी क्षेत्रों को निर्यात करेगा)।

से http://drzon.net/export-mongodb-collections-to-csv-without-specifying-fields/ इस bash स्क्रिप्ट चलाने

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: अपने mongoDB स्थापना के बिन फ़ोल्डर पर जाएं (C: \ Program Files \ MongoDB \ Server \ 4.0 \ bin)

चरण 3: फिर निम्नलिखित कमांड निष्पादित करें

mongodump -d your_db_name -o destination_path

your_db_name = परीक्षण

गंतव्य_पथ = सी: \ उपयोगकर्ता \ एचपी \ डेस्कटॉप

निर्यात की गई फ़ाइलें डेस्टिनेशन_path \ your_db_name फ़ोल्डर में बनाई जाएंगी (इस उदाहरण C: \ Users \ HP \ Desktop \ Test)

संदर्भ: o7planning


5

मुझे पता है कि यह काफी पुराना सवाल है और यह कि मोंगोडम्प / मोंगोरस्टोर स्पष्ट रूप से सही तरीका है यदि आप 100% वफादार परिणाम चाहते हैं, जिसमें इंडेक्स भी शामिल है।

हालांकि, मुझे एक त्वरित और गंदे समाधान की आवश्यकता थी जो संभवतः मोंगबीडीबी के पुराने और नए संस्करणों के बीच आगे और पीछे संगत होगी, बशर्ते कि कुछ भी विशेष रूप से निराला न हो। और इसके लिए मुझे मूल प्रश्न का उत्तर चाहिए था।

ऊपर अन्य स्वीकार्य समाधान हैं, लेकिन यह यूनिक्स पाइपलाइन अपेक्षाकृत छोटी और प्यारी है:

mongo --quiet mydatabase --eval "db.getCollectionNames().join('\n')" | \
grep -v system.indexes | \
xargs -L 1 -I {} mongoexport -d mydatabase -c {} --out {}.json

यह .jsonप्रत्येक संग्रह के लिए उचित रूप से नामित फ़ाइल का उत्पादन करता है ।

ध्यान दें कि डेटाबेस का नाम ("mydatabase") दो बार दिखाई देता है। मैं मान रहा हूं कि डेटाबेस स्थानीय है और आपको क्रेडेंशियल पास करने की आवश्यकता नहीं है, लेकिन ऐसा करना आसान है mongoऔर दोनों के साथmongoexport

ध्यान दें कि मैं grep -vत्यागने के लिए उपयोग कर रहा हूं system.indexes, क्योंकि मैं नहीं चाहता कि मोंगोडीबी का एक पुराना संस्करण नए संग्रह से सिस्टम संग्रह की व्याख्या करने का प्रयास करे। इसके बजाय मैं अपने एप्लिकेशन को ensureIndexअनुक्रमणिका को फिर से बनाने के लिए अपने सामान्य कॉल करने की अनुमति दे रहा हूं ।


5

आप निम्न कमांड का उपयोग करके ज़िप फ़ाइल बना सकते हैं। यह डेटाबेस की ज़िप फ़ाइल {dbname} प्रदान करेगा। आप बाद में निम्न ज़िप फ़ाइल को mongo DB में आयात कर सकते हैं।

Window filepath=C:\Users\Username\mongo 

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

अधिक स्पष्टता के लिए निम्नलिखित जानकारी का उपयोग करें docs.mongodb.com/manual/reference/program/mongodump
kumar31rajesh

3

निर्यात डेटाबेस को पुनर्स्थापित करते समय यहां मेरे लिए क्या काम किया गया है:

mongorestore -d 0 ./0 --drop

जहां /। निर्यात की गई बॉन फ़ाइलों को प्राप्त किया। ध्यान दें कि --dropवसीयत मौजूदा डेटा को अधिलेखित कर देगी।


3

यदि आप डेटाबेस से प्रत्येक संग्रह को निर्यात / आयात करने के लिए mongoexport और mongoimport का उपयोग करना चाहते हैं , तो मुझे लगता है कि यह उपयोगिता आपके लिए मददगार हो सकती है। मैंने कई बार इसी तरह की उपयोगिता जोड़ी है;

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

यदि आप सर्वर पर सभी dbs का बैकअप लेना चाहते हैं, तो इस बात की चिंता किए बिना कि dbs कहा जाता है, निम्नलिखित शेल स्क्रिप्ट का उपयोग करें:

#!/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

यह मोंगोडंप उपयोगिता का उपयोग करता है, जो सभी डीबी का बैकअप करेगा यदि कोई भी निर्दिष्ट नहीं है।

आप इसे अपने क्रोनजॉब में रख सकते हैं, और यह केवल तभी चलेगा जब मोंगॉड प्रक्रिया चल रही हो। यदि कोई मौजूद नहीं है तो यह बैकअप डायरेक्टरी भी बनाएगा।

प्रत्येक DB बैकअप को एक व्यक्तिगत निर्देशिका में लिखा जाता है, जिससे आप व्यक्तिगत DB को वैश्विक डंप से पुनर्स्थापित कर सकते हैं।


2

सबसे पहले, मानगो डीबी शुरू करें - इसके लिए पथ पर जाएँ ->

C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin और MongoDB सर्वर शुरू करने के लिए mongod.exe फ़ाइल पर क्लिक करें।

निर्यात करने के लिए विंडोज में कमांड

  • Windows में MongoDB डेटाबेस को "रिमोट-सर्वर" से स्थानीय मशीन में निर्देशिका C: / Users / Desktop / temp-folder में दूरस्थ सर्वर से आंतरिक आईपी पते और पोर्ट से निर्यात करने की आज्ञा दें।

C:> mongodump --host Remote_ip_address: 27017 --db -o C: / उपयोगकर्ता / डेस्कटॉप / अस्थायी-फ़ोल्डर

आयात करने के लिए विंडोज में कमांड

  • स्थानीय मशीन निर्देशिका C से "दूरस्थ सर्वर" के लिए विंडोज में MongoDB डेटाबेस आयात करने की कमान: / उपयोगकर्ता / डेस्कटॉप / अस्थायी फ़ोल्डर / db-dir

C:> mongorestore --host = ip --port = 27017 -d C: / उपयोगकर्ता / डेस्कटॉप / अस्थायी फ़ोल्डर / db-dir


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)

यह निर्यात के लिए mongoexport है
सिरिल डचोन-डोरिस

5
सवाल सभी संग्रह को निर्यात करने के बारे में है ।
JJJ

0

आप क्या करना चाहते हैं, इसके आधार पर कई विकल्प हैं

1) यदि आप अपने डेटाबेस को दूसरे मोंगो डेटाबेस में निर्यात करना चाहते हैं, तो आपको उपयोग करना चाहिए mongodump। यह BSON फ़ाइलों का एक फ़ोल्डर बनाता है जिसमें मेटाडाटा होता है जो JSON नहीं होता।

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

2) यदि आप अपने डेटाबेस को JSON में निर्यात करना चाहते हैं तो आप इसका उपयोग कर सकते हैं mongoexportसिवाय इसके कि आपको इसे एक बार में एक संग्रह करना है (यह डिज़ाइन द्वारा है)। हालाँकि मुझे लगता है कि पूरे डेटाबेस को निर्यात करना mongodumpऔर फिर JSON में परिवर्तित करना सबसे आसान है ।

# -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

डंप के लिए, आपका DB नीचे CMD परती है

   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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.