วิธีการส่งออกคอลเลกชันทั้งหมดใน 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
Stennie

1
ดูเหมือนว่าตัวเลือกที่จะใช้ mongoexport สำหรับคอลเลกชันทั้งหมดเป็นคุณสมบัติที่วางแผนไว้ซึ่งยังไม่ได้กำหนด: SERVER-201 .. ดังนั้น mongodump จึงเป็นตัวเลือกที่ดีที่สุดสำหรับการส่งออกฐานข้อมูลที่สมบูรณ์ มันจะไม่เป็นเรื่องยากเกินไปที่จะเขียนเทียบเท่า mongoexport โดยใช้หนึ่งของไดรเวอร์ลูกค้า MongoDB
Stennie

2
คุณควรทำเครื่องหมายคำตอบว่ายอมรับ คะแนนของฉันสำหรับstackoverflow.com/a/16605781/1686575
John Manko

สำหรับเร็กคอร์ดสถานะเอกสารคู่มือ MongoDB หลีกเลี่ยงการใช้ mongoimport และ mongoexport สำหรับการสำรองข้อมูลการผลิตอย่างเต็มรูปแบบ พวกเขาไม่ได้รักษาประเภทข้อมูล BSON ที่หลากหลายอย่างน่าเชื่อถือเนื่องจาก JSON สามารถแสดงประเภทย่อยของประเภทที่ BSON สนับสนุนเท่านั้น ใช้ mongodump และ mongorestore ดังที่อธิบายไว้ในวิธีการสำรองข้อมูล MongoDB สำหรับการทำงานประเภทนี้ ดังนั้นไม่เพียง แต่สำหรับคนขี้เกียจอย่าง Mentor Reka เท่านั้น แต่ยังเป็นวิธีการที่เหมาะสมในการทำเช่นนี้
samurai_jane

คำตอบ:


687

สำหรับคนขี้เกียจใช้mongodumpมันเร็วกว่า:

mongodump -d <database_name> -o <directory_backup>

และเพื่อ "กู้คืน / นำเข้า" มัน (จาก directory_backup / dump /):

mongorestore -d <database_name> <directory_backup>

ด้วยวิธีนี้คุณไม่จำเป็นต้องจัดการกับคอลเลกชันทั้งหมดทีละรายการ เพียงระบุฐานข้อมูล

หมายเหตุที่ผมอยากจะแนะนำต่อโดยใช้mongodump/ mongorestoreสำหรับการเก็บรักษาข้อมูลขนาดใหญ่ ช้ามากและเมื่อคุณได้รับข้อมูล 10 / 20GB ที่ผ่านมาอาจใช้เวลาหลายชั่วโมงในการกู้คืน


2
ไม่มีปัญหาความเข้ากันได้ระหว่าง JSON และ BSON หรือไม่
JulienFr

5
รูปแบบข้อมูลที่ใช้โดย mongodump จากรุ่น 2.2 หรือใหม่กว่านั้นไม่สามารถใช้ร่วมกับ mongod รุ่นก่อนหน้าได้ อย่าใช้ mongodump รุ่นล่าสุดเพื่อสำรองข้อมูลที่เก่ากว่า
n0nSmoker

4
ฉันเชื่อว่าคำสั่งกู้คืนคือ "mongorestore -b DATABASE ./dump-folder" (โดยที่. /dump-folder เป็นพา ธ หรือข้อมูลที่ส่งออกของคุณ)
Thomas Decaux

47
"mongorestore -d DATABASE ./dump-folder"
kehers

2
@LucaSteeb ใช้ --excludeCollection = เซสชัน
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
Bradford

ฉันต้องการนำเข้า. csv โดยใช้ชุดสคริปต์คุณมีความคิดใด ๆ
Prasanth Jaya

29

ทำตามขั้นตอนด้านล่างเพื่อสร้าง mongodump จากเซิร์ฟเวอร์และนำเข้าเซิร์ฟเวอร์อื่น / เครื่องท้องถิ่นที่มีชื่อผู้ใช้และรหัสผ่าน

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 ใช้คำสั่งต่อไปนี้

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จาก CMD :(
Razvan Zamfir

18

โปรดแจ้งให้เราทราบว่าคุณติดตั้ง Mongo DB ไว้ที่ไหน (ทั้งใน Ubuntu หรือใน Windows)

  • สำหรับ Windows:

    1. ก่อนส่งออกคุณต้องเชื่อมต่อกับ Mongo DB ของคุณในคำสั่ง cmd และตรวจสอบให้แน่ใจว่าคุณสามารถเชื่อมต่อกับโฮสต์ในพื้นที่ของคุณ
    2. ตอนนี้เปิดพรอมต์คำสั่งใหม่และดำเนินการคำสั่งด้านล่าง

    mongodump --db ชื่อฐานข้อมูล - เส้นทางที่จะบันทึก
    เช่น: mongodump --db mydb - out c: \ TEMP \ op.json

    1. เยี่ยมชมhttps://www.youtube.com/watch?v=hOCp3Jv6yKoสำหรับรายละเอียดเพิ่มเติม
  • สำหรับ Ubuntu:

    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

โปรดทราบว่าสิ่งนี้ไม่ได้รักษาประเภทข้อมูล BSON ที่หลากหลายอย่างน่าเชื่อถือเนื่องจาก JSON สามารถแสดงประเภทย่อยของประเภทที่ BSON รองรับเท่านั้น ใช้ mongodump และ mongorestore ดังที่อธิบายไว้ในวิธีการสำรองข้อมูล MongoDBสำหรับการทำงานประเภทนี้ ( เอกสาร )
Z. Khullah

8

หากคุณตกลงกับรูปแบบ bson คุณสามารถใช้ยูทิลิตี้ mongodump ด้วยแฟล็ก -d เดียวกัน มันจะถ่ายโอนการเก็บรวบรวมทั้งหมดไปยังไดเรกทอรีการถ่ายโอนข้อมูล (ค่าเริ่มต้นสามารถเปลี่ยนแปลงได้ผ่านตัวเลือก -o) ในรูปแบบ bson จากนั้นคุณสามารถนำเข้าไฟล์เหล่านี้โดยใช้ยูทิลิตี้ 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

นี่เป็นสิ่งที่ดี แต่คุณอาจต้องการให้ outex สแกน regex ไม่โลภ out.scan(/\".+?\"/).map { |s| s.gsub('"', '') }
casey

8

ฉันต้องการรุ่นสคริปต์แบตช์ของ Windows หัวข้อนี้มีประโยชน์ดังนั้นฉันคิดว่าฉันจะให้คำตอบด้วยเช่นกัน

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:~

จากนั้นจาก parent dir ของดัมพ์:

mongorestore 

และที่นำเข้าฐานข้อมูล

สมมติว่าบริการ mongodb ทำงานแน่นอน


7

หากคุณต้องการคุณสามารถส่งออกคอลเลกชันทั้งหมดไปยัง csv โดยไม่ระบุ--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

ฐานข้อมูลและคอลเลกชันทั้งหมดจะถูกสร้างขึ้นในไดเรกทอรีที่เรียกว่า 'dump' ในตำแหน่ง 'ปัจจุบัน'


6

คุณสามารถทำได้โดยใช้คำสั่งmongodump

ขั้นตอนที่ 1: พร้อมรับคำสั่งเปิด

ขั้นตอนที่ 2: ไปที่โฟลเดอร์ bin ของการติดตั้ง mongoDB ของคุณ (C: \ Program Files \ MongoDB \ Server \ 4.0 \ bin)

ขั้นตอนที่ 3: จากนั้นดำเนินการคำสั่งต่อไปนี้

mongodump -d your_db_name -o destination_path

your_db_name = test

destination_path = C: \ Users \ HP \ Desktop

ไฟล์ที่ส่งออกจะถูกสร้างขึ้นในโฟลเดอร์ปลายทาง_path \ your_db_name (ในตัวอย่างนี้ C: \ Users \ HP \ Desktop \ test)

ข้อมูลอ้างอิง: o7 การวางแผน


5

ฉันรู้ว่านี่เป็นคำถามที่ค่อนข้างเก่าและ mongodump / mongorestore นั้นชัดเจนว่าเป็นวิธีที่ถูกต้องหากคุณต้องการผลลัพธ์ที่ซื่อสัตย์ 100% รวมถึงดัชนี

อย่างไรก็ตามฉันต้องการวิธีแก้ปัญหาที่รวดเร็วและสกปรกซึ่งน่าจะเป็นไปข้างหน้าและย้อนกลับเข้ากันได้ระหว่าง MongoDB รุ่นเก่าและรุ่นใหม่หากไม่มีสิ่งใดแปลกประหลาดเกิดขึ้น และสำหรับสิ่งที่ฉันต้องการคำตอบสำหรับคำถามเดิม

มีวิธีแก้ไขปัญหาอื่น ๆ ที่ยอมรับได้ข้างต้น แต่ท่อ Unix นี้ค่อนข้างสั้นและหวาน

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เพราะฉันไม่ต้องการ MongoDB รุ่นเก่าพยายามตีความคอลเลกชันระบบจากใหม่กว่า แต่ฉันอนุญาตให้แอปพลิเคชันของฉันทำการensureIndexโทรตามปกติเพื่อสร้างดัชนีใหม่


5

คุณสามารถสร้างไฟล์ zip โดยใช้คำสั่งต่อไปนี้มันจะสร้างไฟล์ zip ของฐานข้อมูล {dbname} ที่ให้ไว้ในภายหลังคุณสามารถนำเข้าไฟล์ zip ต่อไปนี้ในคุณ 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

โดยที่. / ได้รับไฟล์ bson ที่ส่งออก โปรดทราบว่า--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

สิ่งนี้ใช้ยูทิลิตี้ mongodump ซึ่งจะสำรองฐานข้อมูลทั้งหมดหากไม่มีการระบุไว้

คุณสามารถใส่มันลงใน cronjob ของคุณและมันจะทำงานก็ต่อเมื่อกระบวนการ mongod กำลังทำงานอยู่ มันจะสร้างไดเรกทอรีสำรองหากไม่มี

การสำรองข้อมูล DB แต่ละครั้งจะถูกเขียนไปยังแต่ละไดเรกทอรีดังนั้นคุณสามารถคืนค่าแต่ละฐานข้อมูลจากการถ่ายโอนข้อมูลส่วนกลาง


2

อันดับแรกให้เริ่ม Mongo DB - เพื่อไปที่เส้นทางเป็น ->

C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin และคลิกที่mongod.exeไฟล์เพื่อเริ่มต้นเซิร์ฟเวอร์ MongoDB

คำสั่งใน Windows เพื่อส่งออก

  • คำสั่งเพื่อส่งออกฐานข้อมูล MongoDB ใน Windows จาก "remote-server" ไปยังเครื่องท้องถิ่นในไดเรกทอรี C: / Users / Desktop / temp-folder จากเซิร์ฟเวอร์ระยะไกลด้วยที่อยู่ IP และพอร์ตภายใน

C:> mongodump - โฮสต์ remote_ip_address: 27017 - db -o C: / Users / เดสก์ท็อป / temp-folder

คำสั่งใน Windows เพื่อนำเข้า

  • คำสั่งเพื่อนำเข้าฐานข้อมูล MongoDB ใน Windows เป็น "remote-server" จากไดเรกทอรีเครื่องท้องถิ่น C: / Users / Desktop / temp-folder / db-dir

C:> mongorestore - โฮสต์ = ip - พอร์ต = 27017 -d C: / ผู้ใช้ / เดสก์ท็อป / temp-folder / 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 เป็นสินค้าส่งออก
Cyril Duchon-Doris

5
คำถามเกี่ยวกับการส่งออกคอลเลกชันทั้งหมด
JJJ

0

มีหลายตัวเลือกขึ้นอยู่กับสิ่งที่คุณต้องการทำ

1) ถ้าคุณต้องการที่จะส่งออกฐานข้อมูลของคุณไปยังฐานข้อมูล Mongo 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

สำหรับการถ่ายโอนฐานข้อมูลของคุณตก 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.