首页 > 解决方案 > 更新多个单列

问题描述

我是 MoongoDB 的新手,所以我不太了解它。我正在使用 3T 工作室。我创建了一个集合并授予了所有访问权限。

我目前的情况是我有大数据。我导入了只有 5 个字段的 2M 记录。_id A 列 B 列 C 列 D 列

现在我要做的是更新这个大数据库集合上的 100K 数据,为此我有另一个 CSV(CSV2),其中包含两个字段 _id 和 A 列如果 _id 匹配更新 A 列和 CSV2 数据并保持所有字段完整(相同)

如果我通过大数据导入 CSV2,它所做的是用新的 CSV 数据覆盖所有 5 列。

有没有办法使用 Studio3T 或任何其他软件在 MongoDB 中执行此任务?

感谢和问候基山

我已经尝试了很多选项......但没有效果。我可以在 mysql 中编写 1 次更新的代码,但在那里无法更新 100K 数据。这就是为什么我安装 MongoDB 认为这更容易

标签: mongodbmongodb-query

解决方案


带有选项的mongoimportmerge将帮助您实现预期的结果。

使用 --mode merge,mongoimport 使您能够将新记录中的字段与数据库中的现有文档合并。像往常一样插入与数据库中现有文档不匹配的文档。默认情况下,mongoimport 根据 _id 字段匹配文档。使用 --upsertFields 指定要匹配的字段。

mongoimport -c collectionName -d databaseName  --type csv --mode merge --file CSV2

推荐阅读