首页 > 数据库 > Mongodb > Export mongodb collections to csv without specifying fields
2015
11-19

Export mongodb collections to csv without specifying fields

我们在导出collections的时候,有时候需要导出完整的collection,不是导出特定的字段的时候,可以使用如下脚本,如果导出特定字段使用-f选项

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=`/home/zlycare/software/mongodb/bin/mongo "$host/$dbname"  --eval "rs.slaveOk();db.getCollectionNames();"`;
collections=`/home/zlycare/software/mongodb/bin/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=`/home/zlycare/software/mongodb/bin/mongo "$host/$dbname"  --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
    /home/zlycare/software/mongodb/bin/mongoexport --host $host  -d $dbname -c ${collectionArray[$i]} --fields "$keys" --csv --out $dbname.${collectionArray[$i]}.csv;
done

IFS=$OIFS;




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复