如何将MongoDB数据导出为CSV格式?

19

我正在寻找一种非常简单的方法,将数据从MongoDB导出为CSV格式。大多数答案涉及到Bash脚本等...是否有一种简单的MongoDB命令,可以将数据直接导出为CSV呢?

我正在寻找一种非常简单的方法,将数据从MongoDB导出为CSV格式。大多数答案涉及到Bash脚本等...是否有一种简单的MongoDB命令,可以将数据直接导出为CSV呢?

1
你尝试过使用mongoexport --csv吗? - andyb
只有这个吗?我在Mongo中遇到了语法错误,'unexpected identifier'。 - DBWeinstein
1
看看这些例子,看看它们是否有帮助。 - andyb
非常感谢!看起来很有帮助。最后一个问题:这些命令是用于常规 shell 吗?还是用于在 mongo 中使用的? - DBWeinstein
是的,这些是针对常规 shell 的。更好地描述它们是“实用函数”,并随着 mongoDB 下载一起提供(例如,在 Windows 上,您会得到一个 monogoexport.exe 文件)。in mongoDB 命令是不同的,并称为 mongo Shell 方法 - andyb
显示剩余2条评论
4个回答

25

更新:

从 mongo 3.0.6 开始,--csv 不再受支持,新的标志是 --type=csv,因此命令将为:

mongoexport --db users --collection contacts --type=csv --fieldFile fields.txt

原回答:

可以使用 mongo 的实用程序函数 mongoexport --csv 在命令行中完成此操作。

除了使用 --csv 之外,文档还说明您需要使用 --fields 或使用 --fieldFile 指定一个包含字段的文件。

请查看用法示例,看是否有帮助,例如:

mongoexport --db users --collection contacts --csv --fieldFile fields.txt

1
csv标志已被弃用,请改用--type=csv。 - AstraSerg

7

如果您已经拥有了.bson文件,想要导出到csv文件:

bsondump collection.bson > file.csv

2
虽然上述回答是正确的,但你必须添加--out参数并指定csv文件才能使其生效。
命令如下: mongoexport --db users --collection contacts --type=csv --fieldFile fields.txt --out=contacts_output.csv 其中, --out=<output_file_name>-o=<output_file_name>应用于指定你要导出的输出文件名。

1
使用mongoDB compass非常容易,只需要按照以下步骤操作:

1. 进入 "Collection"
2. 选择 "Export Collection"
3. 选择 "Export data as JSON or CSV"
4. 导出数据即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接