MongoDB使用查询转储数据库中的所有集合

问题描述 投票:0回答:2

我想在具有特定时间范围的mongodb中转储数据。转储一个集合是正确的。

mongodump --db VnTrader_Tick_ALL_1106 --collection au1712 --out tick_1106 --query "{ datetime: {$gte: new Date(1509973200000), $lt: new Date(1510038900000) }}"

我想知道如何通过相同的查询转储我的数据库中的所有集合?非常感谢

mongodb dump
2个回答
0
投票

我在Windows版本中没有这个答案。但是我也越过了这个场景,并在linux中使用了以下命令来实现xargs的帮助。

echo "show collections" | mongo <dbname> --quiet | grep -v "system.indexes" | xargs -I {} mongodump --db <dbname> --collection {} --query "{}"

0
投票

我终于用navie实现解决了这个问题。

  1. 首先使用正则表达式在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 +')}}''打开(MONGODB_BIN_PATH +'\ dumpcommond.txt','a')作为myfile:myfile.write(command_tick +'\ n')
  2. 在mongo / bin中打开一个cmd
  3. 复制并通过dumpcommond.txt cmd中的所有命令获取所有集合
© www.soinside.com 2019 - 2024. All rights reserved.