我有一个名为“CRM' CRM”的mongoddb数据库。并且有一个集合"用户"。
有超过50,000名用户加入"用户"集合。
我想从"用户"中导出所有用户文档收集以分离.json文件。
我运行了以下命令,它将所有用户作为json对象数组放入单个(users.json)json文件中。
mongoexport -d CRM -c users -o users.json --jsonArray
但是,我想为每个用户提供.JSON文件。
非常感谢任何帮助。
答案 0 :(得分:1)
jq帮助我完成了这项工作。
Mongo的输出文件不是有效的JSON文件,而是各自有效的JSON内容的各行。我使用的步骤是:
这是我最终使用的bash代码:
# Make newlines the only separator.
IFS=$'\n'
# Disable globbing.
set -f
# Iterate through the export file
for doc in $(cat < export.txt); do
# $doc is a valid JSON document. Parse it to get the filename
# based on the ID.
export filename=`echo $doc | jq -r '._id'`.json
# Write document to file.
echo "Writing $filename"
echo $doc > $filename
done
我从这些Stack Exchange答案中了解到这一点:
我不确定这对50,000条记录的效果如何。