将mongodb集合的每个文档导出到单独的json文件中

将mongodb集合的每个文档导出到单独的json文件中,mongodb,export,Mongodb,Export,我有一个名为“CRM”的mongoddb数据库,其中有一个集合“users” “用户”集合中有50000多名用户 我想将所有用户文档从“users”集合导出到单独的.json文件 我运行了以下命令,该命令将所有用户作为json对象数组放入单个(users.json)json文件中 mongoexport -d CRM -c users -o users.json --jsonArray 但是,我需要每个用户的.JSON文件 任何帮助都将不胜感激。帮助我完成了这项工作 Mongo的输出文件不是有

我有一个名为“CRM”的mongoddb数据库,其中有一个集合“users”

“用户”集合中有50000多名用户

我想将所有用户文档从“users”集合导出到单独的.json文件

我运行了以下命令,该命令将所有用户作为json对象数组放入单个(users.json)json文件中

mongoexport -d CRM -c users -o users.json --jsonArray
但是,我需要每个用户的.JSON文件

任何帮助都将不胜感激。

帮助我完成了这项工作

Mongo的输出文件不是有效的JSON文件,而是分别包含有效JSON内容的单行。我使用的步骤是:

  • 在每一行中迭代
  • 解析它以获取ID(您可以在此处使用自己的字段)
  • 使用ID作为文件名
  • 将行/文档写入文件
下面是我最终使用的bash代码:

#使换行符成为唯一的分隔符。
IFS=$'\n'
#禁用全局搜索。
set-f
#遍历导出文件
对于美元的单据(cat$filename
完成
我从这些堆栈交换答案中学到了这一点:


我只是不确定这对50000条记录的效果如何。

MongoDB无法做到这一点。您可能应该编写一个脚本,从数组中读取每个文档并创建一个文件。其实并不复杂;-)是否可以将50000多个文档加载到一个数组中,然后逐个将数据写入文件?是的。mongoexport将导出您的50K文档,然后您的脚本将读取您的文件。但我的意见是,你最好做一个脚本,读取集合并为每个文档创建一个文件。。。你可以扩展它,它会更有效谢谢。我将尝试它并发布状态。