将mongo db导出为多个CSV

时间:2018-03-07 17:14:29

标签: mongodb

我一直在寻找一种方法将mongo db导出到多个文件中的csv。

  • Db包含来自不同国家/地区的用户,因此我想分别为每个国家/地区分组用户并导出CSV。

我已经尝试了mongoExport,但没有成功。

  

mongoexport是一个生成JSON或CSV数据导出的实用程序   存储在MongoDB实例中。

1 个答案:

答案 0 :(得分:0)

您可以使用--query中的mongoexport参数;请参阅mongoexport --query documentation page

例如,我的收藏是:

> db.test.find()
{ "_id": 0, "country": "US" }
{ "_id": 1, "country": "US" }
{ "_id": 2, "country": "US" }
{ "_id": 3, "country": "AU" }
{ "_id": 4, "country": "AU" }

然后我们可以运行两个mongoexport来导出每个国家/地区:

$ mongoexport -d test -c test --type=csv --fields="_id,country" --query "{country: 'US'}"
_id,country
0,US
1,US
2,US

$ mongoexport -d test -c test --type=csv --fields="_id,country" --query "{country: 'AU'}"
_id,country
3,AU
4,AU

您可能希望创建一个首先发现集合中国家/地区列表的脚本,然后为每个国家/地区运行mongoexport