MongoDB 使用查询转储数据库中的所有集合
MongoDB dump all collections in a database with query
我想在 mongodb 中转储具有特定时间范围的数据。
转储一个集合是正确的。
mongodump --db VnTrader_Tick_ALL_1106 --collection au1712 --out tick_1106 --query "{ datetime: {$gte: new Date(1509973200000), $lt: new Date(1510038900000) }}"
我想知道如何通过同一个查询转储数据库中的所有集合?
非常感谢
我在 Windows 版本中没有答案。但是我也跨越了这个场景,在xargs的帮助下linux使用了下面的命令实现了今天
echo "show collections" | mongo <dbname> --quiet | grep -v "system.indexes" | xargs -I {} mongodump --db <dbname> --collection {} --query "{}"
我终于用 navie 实现解决了这个问题。
先用正则表达式在python中生成一个dumpcommond.txt文件
command_tick = 'mongodump' + '--db' + HOST_TICK_DB + '--collection' + contract + ' --out tick_remote_1 ' + \
' --query "{ datetime: {$gte: new Date(' + ds_time + '), $lt: new Date(' + de_time + ')}}"'
用 open(MONGODB_BIN_PATH + '\dumpcommond.txt','a') 作为我的文件:
myfile.write(command_tick + '\n')
在mongo/bin
中打开cmd
- 复制并粘贴 dumpcommond.txtcmd 中的所有命令以获取所有集合
我想在 mongodb 中转储具有特定时间范围的数据。 转储一个集合是正确的。
mongodump --db VnTrader_Tick_ALL_1106 --collection au1712 --out tick_1106 --query "{ datetime: {$gte: new Date(1509973200000), $lt: new Date(1510038900000) }}"
我想知道如何通过同一个查询转储数据库中的所有集合? 非常感谢
我在 Windows 版本中没有答案。但是我也跨越了这个场景,在xargs的帮助下linux使用了下面的命令实现了今天
echo "show collections" | mongo <dbname> --quiet | grep -v "system.indexes" | xargs -I {} mongodump --db <dbname> --collection {} --query "{}"
我终于用 navie 实现解决了这个问题。
先用正则表达式在python中生成一个dumpcommond.txt文件
command_tick = 'mongodump' + '--db' + HOST_TICK_DB + '--collection' + contract + ' --out tick_remote_1 ' + \ ' --query "{ datetime: {$gte: new Date(' + ds_time + '), $lt: new Date(' + de_time + ')}}"' 用 open(MONGODB_BIN_PATH + '\dumpcommond.txt','a') 作为我的文件: myfile.write(command_tick + '\n')
在mongo/bin
中打开cmd
- 复制并粘贴 dumpcommond.txtcmd 中的所有命令以获取所有集合