Mongodb 如何从mongo数据库中仅导出少数集合,而不是全部集合?

Mongodb 如何从mongo数据库中仅导出少数集合,而不是全部集合?,mongodb,mongoexport,Mongodb,Mongoexport,我需要从mongo数据库导出一些集合,而不是所有集合 我知道如何使用命令行mongoexport导出整个数据库,但我只需要几个集合 如何操作?您可以在数据库中导出一些集合。首先,找到要导出的集合列表 在mongoshell中,您可以使用以下命令获取当前数据库中所有集合的列表:db.getCollectionNames()。您可以计算要从此列表导出的集合 假设您想在test数据库中导出两个集合,“电影”和“书籍” 对于Windows,这样的批处理文件将进行导出。例如: mongo_exp.bat:

我需要从mongo数据库导出一些集合,而不是所有集合

我知道如何使用命令行mongoexport导出整个数据库,但我只需要几个集合


如何操作?

您可以在数据库中导出一些集合。首先,找到要导出的集合列表

mongo
shell中,您可以使用以下命令获取当前数据库中所有集合的列表:
db.getCollectionNames()
。您可以计算要从此列表导出的集合

假设您想在
test
数据库中导出两个集合,“电影”和“书籍”

对于Windows,这样的批处理文件将进行导出。例如:

mongo_exp.bat:

从Windows命令提示符运行此批处理文件时,它将两个集合导出为两个JSON文件:
movies.JSON
books.JSON

对于类UNIX操作系统,这样的bash脚本将执行导出。例如:mongo_exp.sh:


在UNIX环境中,确保脚本在运行之前具有执行权限。

首先,通过在mongo shell中查询获取集合列表。使用*IX和Win操作系统命令行for loop迭代集合,并为每次迭代导出一个集合。
for %%coll IN ("movies","books") DO mongoexport --db=test --collection=%%coll --out=%%coll.json
#!/bin/sh
declare -a colls=("movies" "books")
for coll in ${colls[@]}
do
    mongoexport --db=test --collection=$coll --out=$coll.json
done