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