我有一个mongo服务器从亚马逊LB后面的服务器接收数据,2天前发生了一个错误,部分服务器将他们的数据发送到一个具有同名数据库的旧mongo服务器,我们意识到这一点和马上把它修好了。
现在我将部分数据存储在错误的机器上。 我现在需要的是比较2 dbs(每个有2个相关集合)之间的数据,并只将缺少的数据插入到正确的集合中。
我不关心独特的id mongo给出,但我需要通过我们创建的字段“uuid”进行比较。
mongo版本:2.4.4
我是Mongo的新手,非常感谢任何帮助。
答案 0 :(得分:0)
是的,你可以。请按以下步骤操作...
1 mongoexport,然后根据您要比较和导入的字段进行mongoimport。
- mongoexport --db db_name --collection collection_name --type csv --fields field1,field2,field3 --out /var/www/export.csv
醇>
在指定位置获取导出的CSV后。打开并删除不需要的字段......
- mongoimport --db db_name --collection collection_name --type csv --file /var/www/export.csv --fields field1,field2,field3 --upsertFields field1,field2,field3
醇>
注意:
1.如果您在生产环境中工作,处理庞大的数据库,然后从加载查询中释放您的mongo然后导出,否则它可能会被卡住。