mongodb - 当导入的文档具有相同的 id 时替换 MongoDB 中的文档 (mongoimport)
问题描述
我正在尝试将mongoimport
jsonarray 文件添加到我的 MongoDB。
我之前的导入使用了下面的命令,并且已经成功:
mongoimport.exe --host <host> --db <db> --collection <collection> --type json --file <file> --jsonArray --authenticationDatabase admin --ssl --username <id> --password <pw>
这次我尝试导入另一个包含相同结构化文档的 jsonarray,但其中一些_id
与 MongoDB 中已经存在的一些文档具有相同的 s。
这是一个文档的结构。
我很担心,因为该_id
字段不是ObjectId
我手动标记的整数,而是我手动标记的整数,因此它不会将具有相同_id
(但具有其他修改字段)的新文档视为同一对象并且不会覆盖它。
如何覆盖与_id
导入文档相同的文档(当然添加不与数据库中任何文档重叠的新文档)?
谢谢
解决方案
我应该更仔细地阅读文档。
使用--mode upsert
,mongoimport
将数据库中与导入文件中的文档匹配的现有文档替换为导入文件中的文档。像往常一样插入与数据库中现有文档不匹配的文档。默认情况下mongoimport
,根据_id
字段匹配文档。使用 --upsert Fields 指定要匹配的字段。
推荐阅读
- ios - 安装 SpinWheelControl Cocoapod 给出“编译器无法及时键入检查此表达式”错误
- mongodb - 直接使用游标数据而不迭代for循环
- r - dplyr & postgresql 获取 group_indices
- python-3.x - 使用单词列表中单词的最小子串形成目标字符串
- javascript - 从用户集合 Firebase 中获取每个文档
- r - 如何在 R 中的一行上绘制 0 或 1 个值?
- delphi - FireMonkey tRectangle 与 tLabel 孩子
- reactjs - 在 Web 上显示 React-Native 组件的工具
- php - 为什么可以打印发布到 php 的数据,但不能在 if 中进行比较。(仅限 esp8266。PC 网络浏览器正常工作)
- reactjs - 如何实现文本装饰:MaterialUI 'dotted'