mongodb - Mongo 比较并导入缺失数据

标签 mongodb database

我有一个 mongo 服务器从亚马逊 LB 后面的服务器接收数据,2 天前出现错误,部分服务器将它们的数据发送到具有同名数据库的旧 mongo 服务器,我们意识到并且立即修复它。

现在我的部分数据存储在错误的机器上。 我现在需要的是一种方法来比较 2 个数据库(每个数据库都有 2 个相关集合)之间的数据,并仅将缺失的数据插入到正确的集合中。

我不关心 mongo 提供的唯一 ID,但我确实需要通过我们创建的字段“uuid”进行比较。

蒙戈版本:2.4.4

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

最佳答案

是的,你可以。按照这些步骤...

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

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

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

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

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

关于mongodb - Mongo 比较并导入缺失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273412/

相关文章:

c# - MongoDB:规范化存储到嵌入式领域模型

java - 为什么当我开始读取时,InputStreamResource 会关闭?

php - 为什么不删帖子呢?

php - 将数组插入数据库表

php - 加入后只识别已注册的群组?

node.js - Mongoose 中的静态变量可能吗?

C++ BSON 库如何从 c_str() 加载 bson?

mongodb - 如何查询带有点的属性?

php - 无法在表单输入上使用 PHP _POST 从 MySQL 数据库检索学生信息

database - 具有数千条边的neo4j