How to export all collections in MongoDB?

前端 未结 28 1523
你的背包
你的背包 2020-11-29 14:32

I want to export all collections in MongoDB by the command:

mongoexport -d dbname -o Mongo.json

The result is:
No collection specifie

相关标签:
28条回答
  • 2020-11-29 14:47

    I found after trying lots of convoluted examples that very simple approach worked for me.

    I just wanted to take a dump of a db from local and import it on a remote instance:

    on the local machine:

    mongodump -d databasename
    

    then I scp'd my dump to my server machine:

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

    then from the parent dir of the dump simply:

    mongorestore 
    

    and that imported the database.

    assuming mongodb service is running of course.

    0 讨论(0)
  • 2020-11-29 14:49

    Even in mongo version 4 there is no way to export all collections at once. Export the specified collection to the specified output file from a local MongoDB instance running on port 27017 you can do with the following command:

    .\mongoexport.exe --db=xstaging --collection=products --out=c:/xstaging.products.json

    0 讨论(0)
  • 2020-11-29 14:53

    you can create zip file by using following command .It will create zip file of database {dbname} provided.You can later import the following zip file in you mongo DB.

    Window filepath=C:\Users\Username\mongo 
    
    mongodump --archive={filepath}\+{filename}.gz --gzip --db {dbname}
    
    0 讨论(0)
  • 2020-11-29 14:53

    There are multiple options depending on what you want to do

    1) If you want to export your database to another mongo database, you should use mongodump. This creates a folder of BSON files which have metadata that JSON wouldn't have.

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

    2) If you want to export your database into JSON you can use mongoexport except you have to do it one collection at a time (this is by design). However I think it's easiest to export the entire database with mongodump and then convert to 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 讨论(0)
  • 2020-11-29 14:54

    I wrote bash script for that. Just run it with 2 parameters (database name, dir to store files).

    #!/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
    
    0 讨论(0)
  • 2020-11-29 14:55

    For dump, your DB fallow the below CMD

       mongodump -d <your d name> -o <dump path>
    Ex:mongodump -d qualetics -o D:\dbpackup\qualetics
    
    0 讨论(0)
提交回复
热议问题