Mongo比较并导入缺失的数据

时间:2016-02-08 15:38:12

标签: mongodb database

我有一个mongo服务器从亚马逊LB后面的服务器接收数据,2天前发生了一个错误,部分服务器将他们的数据发送到一个具有同名数据库的旧mongo服务器,我们意识到这一点和马上把它修好了。

现在我将部分数据存储在错误的机器上。 我现在需要的是比较2 dbs(每个有2个相关集合)之间的数据,并只将缺少的数据插入到正确的集合中。

我不关心独特的id mongo给出,但我需要通过我们创建的字段“uuid”进行比较。

mongo版本:2.4.4

我是Mongo的新手,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

是的,你可以。请按以下步骤操作...

1 mongoexport,然后根据您要比较和导入的字段进行mongoimport。

  
      
  1. mongoexport --db db_name --collection collection_name --type csv --fields field1,field2,field3 --out /var/www/export.csv
  2.   

在指定位置获取导出的CSV后。打开并删除不需要的字段......

  
      
  1. mongoimport --db db_name --collection collection_name --type csv --file /var/www/export.csv --fields field1,field2,field3 --upsertFields field1,field2,field3
  2.   

注意:
1.如果您在生产环境中工作,处理庞大的数据库,然后从加载查询中释放您的mongo然后导出,否则它可能会被卡住。