db.cloneCollection 忽略重复键

2024-02-18

如何使用 MongoDB 克隆集合并忽略重复键?

$ mongo items
MongoDB shell version: 2.4.6
connecting to: items
> db.cloneCollection('localhost:27018', 'things')
{
    "errmsg" : "exception: E11000 duplicate key error index: items.things.$_id_  dup key: { : ObjectId('52558bebdedc25038ed26d58') }",
    "code" : 11000,
    "ok" : 0
}

更好的是,是否有一种更安全的方法将远程集合与本地集合合并?如果db.cloneCollection被中断,似乎没有办法“恢复”它而不清除所有重复的项目并从头开始重新启动它。


您可以创建另一个名为“things2”的集合,并在那里克隆远程集合。然后对“things2”集合的每个文档使用无序批量插入到“things”集合 - 它将忽略重复的键错误,直到整个批量插入完成。

db.cloneCollection('localhost:27018', 'things2');

var cursor = db.things2.find(); null;

var bulk = db.things.initializeUnorderedBulkOp();


cursor.forEach(function(doc) {
  bulk.insert(doc);
});

bulk.execute();

或者您可以使用“things2”集合中的所有文档创建一个数组,然后使用选项 {ordered: false} 将其“插入”到“things”集合中

db.cloneCollection('localhost:27018', 'things_2');

var things2array = db.things2.find().toArray(); null;

db.things.insert(things2array,{ ordered : false });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

db.cloneCollection 忽略重复键 的相关文章

  • 使用 mongoose 更新 mongoDb 中数组内的对象[重复]

    这个问题在这里已经有答案了 我正在 MongoDB 上工作 以更新 MongoDB 集合中数组内部的对象值 我的收藏就像 id ObjectId 59b7e839200a5c00ee2d2851 player New playesList
  • MongoDB - 从每个对话中获取最后一条消息?

    我有一个对话集合 id from userA to userB message Hello datetime 我想显示用户对话的预览 当前用户与任何其他用户之间每次对话的最后一条消息 因此 当用户单击某些 最后一条消息 时 他会转到下一页
  • Spring Data - MongoDB 索引 DBRef

    我正在使用 spring data mongodb 1 2 0 RELEASE 我有两个类 A 和 B 其中 B 引用了 A 并且用 DBRef 进行了注释 Class A Document collection a public clas
  • MongoDB:更新数组中的文档

    我有一个包含此架构文档的集合 id something recipients id 1 name Andrey isread false id 2 name John isread false 现在 我想使用以下命令更新 John id 2
  • 无法解构“undefined”或“null”的属性“user”

    使用 redux 检索用户信息时出错 我想从数据库获取用户信息 姓名 密码和头像地址 然后对其进行编辑 我正在使用nodejs express react redux 和jwt Actions user js import axios fr
  • 从 mongo shell 查找 mongoDB 上 2 个文档之间的差异

    我正在使用 mongodb 2 4 4 我想比较 2 个文档 然后仅使用 mongo shell 打印它们的差异 有没有办法比较它们 就像是 db collection compare first doc objectID blablalb
  • 致命错误 - 未找到“Mongo”类

    我正在尝试执行此操作 但我收到以下错误 致命错误 在 C wamp www 中找不到类 Mongo Info PHP 5 38 MongoDB mongodb win32 i386 2 0 2 MongoDB PHP 驱动程序 mongo
  • mongodb 更新所有文档,并将值增加 1 [重复]

    这个问题在这里已经有答案了 我在 mongoDB 中有几个文档 文档结构是这样的 a abc myid 2 我想用 1 更新所有文档的 myid 例如 第一个文档 myid 1 第二个文档 myid 2 依此类推 有询问吗 尝试这个查询 d
  • Mongod 服务启动退出,代码为 100

    Problem 我的 mongo 服务不再启动 root machine service mongod start root machine service mongod status mongod service High perform
  • 环回关系不填充对象 ID 数组

    到目前为止我有 2 个模型 工作流程核心 工作流程步骤 工作流核心有一个steps属性 该属性是数组类型并且包含1 多个步骤 当呼叫接通时工作流程核心响应正文不会使用实际步骤对象填充步骤数组 工作流程核心 json name workflo
  • 为关联数组选择哪种映射类型?学说ODM

    我有一个关于 顺便说一句 真的很棒 Doctrine ODM 的简单问题 假设您有一个类似以下的文档 Document class Test Id public id WHICHTYPE public field array 现在我想存储一
  • MongoDB 中两个集合之间的 Diff()

    我做过研究 如果这是一个重复的问题 我很抱歉 但其他问题的解决方案并不适合我 因此 我提出了一个新问题 使用 Javascript 比较两个集合的最佳方法是什么 我有数千个这样的 Mongo 文档格式的标头 url google com h
  • MongoDB insertMany 并跳过重复项

    我试图insertMany https docs mongodb com manual reference method db collection insertMany 项目进入我的 Mongo 数据库 但我想跳过重复的 ID 我在用着N
  • MongoDB 嵌套数组查询

    我问这个作为评论another https stackoverflow com questions 5250652 query a nested array in mongodb问题 还发了一个question https groups g
  • 相同的单词但不同的 unicode 字符

    我在 Windows 上使用 Python 构建了一个关于越南餐馆的问答应用程序 要编写越南语字符 我需要使用 Unicode 首先 我从使用 HTML charset utf 8 的 TripAdvisor 网站克隆数据并构建我的 Mon
  • MongoDB:仅获取过去 24 小时内创建的文档?

    我想限制我所做的查询仅查看过去 24 小时内创建的文档 构造此查询的最佳方式是什么 如何根据日期进行限制 Add createdAt字段 索引它 然后查询 db getCollection COLLECTION NAME find crea
  • mongodb使用skip和limit排序不根据索引对记录进行排序

    我正在尝试使用 Mongodb 进行分页skip and limit 我想要按顺序获取页面记录register time 在数据库中 记录是按索引排序的 而不是按register time 如何使多页记录 多次跳转 遵循相同的内容regis
  • 尝试使用 Mongoose 进行批量更新插入。最干净的方法是什么?

    我有一个集合 其中包含包含三个字段的文档 名字 姓氏和年龄 我试图找出 Mongoose 中的哪个查询可以用来进行批量更新插入 我的应用程序偶尔会收到具有相同三个字段的新对象数组 我希望查询检查文档中是否已存在名字和姓氏 如果存在 则更新年
  • 如何同时使用 $gt 和 $lte 优化 MongoDB 查询?

    我有以下查询 有点像反向范围查找 db ip ranges find and start ip num lte 1204135028 end ip num gt 1204135028 当仅使用 lte 标识符运行时 查询会立即返回 但是当我
  • Node.js 找不到模块“mongodb”

    我正在经历我的第一个 Node js 项目 我已经安装了 mongodb 有一个 server js 文件 当我尝试运行它时 出现此错误 module js 340 throw err Error Cannot find module mo

随机推荐

  • 如何使用 boost::asio 将 URL 转换为 IP 地址?

    所以我需要某种转向方式Protocol URLorIP Port串入串ip int port如何使用 boost ASIO 和 Boost Regex 来做这样的事情 或者是否有可能 使用获取 IPC 网络库 http cpp netlib
  • 在部分之间重新排列项目时 UICollectionView 崩溃

    我在动画中的各部分之间进行更改时遇到问题UICollectionView 我的程序总是崩溃 这是怎么回事 我有一个集合视图 它有四个部分 0 A 1 B 2 C 3 D 我想将其转换为只有三个具有相同项目的部分 0 A1 乙 丙2 D 我想
  • 如何取消拦截器中的当前请求 - Angular 4

    如你所知 可以使用拦截器在新版本的 Angular 4 中 在我的例子中 我想在某些情况下取消拦截器中的请求 那么有可能吗 也许我应该问的是 我应该采取哪种方式 如果我找到一种方法来重写对请求的一些响应而不是取消它 那也可以 我认为要切断拦
  • 无法编辑 crontab (linux Alpine)

    我在非 root 帐户下的 alpine 中遇到了 crontab 问题 bash 4 3 crontab e crontab must be suid to work properly 这是输出id命令 bash 4 3 id uid 4
  • 正则表达式:将所有内容匹配到最后一个空格而不包含它

    我想将字符串中的所有内容匹配到最后一个空格 但不包含它 举例来说 我想匹配我输入的字符bold RENATA T GROCHAL 到目前为止我已经 s https regex101 com r gM3aM2 1但是 它与最后一个空格匹配 但
  • 将具有多种数据类型的Python序列转换为张量

    我正在使用 TensorFlow r1 7 和 python3 6 5 我对 TensorFlow 也很陌生 所以如果可能的话 我希望有易于阅读的解释 我正在尝试使用此函数将输入数据转换为张量数据集tf data Dataset from
  • Pandas无法加载数据,csv编码之谜

    我正在尝试将数据集加载到 pandas 中 但似乎无法完成第 1 步 我是新手 所以如果这是显而易见的 请原谅 我已经搜索了以前的主题 但没有找到答案 数据大部分是汉字 这可能是问题所在 csv 非常大 可以在此处找到 http weibs
  • Cassandra 如何水平扩展?

    我看过一个video https www youtube com watch v B HTdrTgGNsCassandra 数据库非常有效 并且确实解释了很多有关 Cassandra 的内容 我还准备了一些关于 Cassandra 的文章和
  • OpenACC 是否会影响正常的 GPU 渲染?

    我试图弄清楚是否可以使用 OpenACC 代替正常的 CPU 串行执行调用 通常我的编程都是关于 3D 编程 或者以某种方式正常使用 GPU IE 图像处理或其他需要使用着色器的渲染类型 我想弄清楚这个图书馆是否对我有利 我问这个问题的原因
  • 如何以编程方式实现 2D 装箱?

    stackoverflow 上有一些类似的问题 但似乎都没有提供一个对 NP 难问题和算法没有深入了解的人可以理解的切实答案 如何对矩形物体进行 2D 装箱 就我而言 我尝试使用最小的空间将多个图像组合成单个图像 用作精灵表 每个图像可能具
  • 在哪里可以找到 Selenium WebDriver 的 64 位版本 chromedriver.exe?

    谁能告诉我在哪里可以找到 64 位版本的 chromedriver exe 我也用 32 位尝试过 但它没有调用 main 方法 Chromedriver 没有单独的 64 位版本 版本可在https sites google com a
  • 在 Ninject 2+ 中禁用非显式绑定类的隐式绑定/注入

    如果您从 NInject 请求未绑定的对象 则默认行为 如果有合适的构造函数可用 似乎是创建适当对象的实例 我想禁用此行为 我遇到了一个难以调试的问题 因为某些内容是自动绑定的 而不是在模块中选取我的自定义绑定 这个问题 https sta
  • CSV 和 MS-DOS CSV 格式

    我有一个自定义 java 程序 它生成一个逗号分隔值 CSV 文件 它使用以下输出格式 a b c 我的用户抱怨我的 CSV 文件不是 MS DOS CSV 格式 他们向我提供了一个 MS DOS CSV 格式的文件 我对我的 CSV 文件
  • 将 PLSQL 过程/函数标记为已弃用

    某些编程工具 例如 C 或 Java 可以将过程 函数标记为已弃用 但 Oracle PLSQL 没有内置此功能 我想知道还有另一种方法来支持此功能 我希望它们显示为 有关正在编译的任何 PL SQL 代码的 PL SQL 编译器警告 96
  • 将 xml 和 java 配置与 spring 混合使用

    我正在构建一个新的应用程序 它通过 java 配置而不是 xml 来配置 spring 此应用程序依赖于使用 xml 样式配置的模块 当我尝试启动我的应用程序时 出现以下错误 No qualifying bean of type com m
  • 从 Mac 访问 Parallels Windows localhost [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我使用 Windows 7 操作系统作为开发平台 在 Mac Parallels Desktop 5 上运行 我想从 Mac 端访问 Wi
  • postgresql:当服务器作为 Windows 服务运行时,pg_ctl 状态显示没有服务器在运行

    我有 PostgreSQL 9 4 未安装 而是自行配置 它也作为 Windows 服务安装 现在我尝试使用检查服务器的状态pg ctl exe status D data dir path 但它只显示我以管理员身份启动控制台时的状态 我的
  • PetaPoco / SQLite 聚合日期错误的解决方法

    下面是创建 SQLite 数据库 将一些数据填充到表中然后尝试检索它的完整代码 如果日期时间列周围有聚合函数 PetaPoco 将抛出错误 using System using PetaPoco class Program static v
  • 从搜索结果表 (UISearchController) 导航到视图(推送)并将搜索结果保留在适当位置

    我有一个搜索结果表 UISearchController 呈现在导航堆栈上存在的视图上 我在视图中呈现搜索控制器和表格 如下所示 searchResultsTableViewController CalendarSearchResultsT
  • db.cloneCollection 忽略重复键

    如何使用 MongoDB 克隆集合并忽略重复键 mongo items MongoDB shell version 2 4 6 connecting to items gt db cloneCollection localhost 2701