Mongodb CloneCollection与CopyTo

时间:2017-09-03 08:59:05

标签: mongodb

我需要在给定时间内存储集合的副本,处理该副本(过程可能需要20-30分钟),然后删除副本。

副本本身应该是给定时间内集合的图像,因此需要忽略在此之后发生的任何动作。

因为MondbDb有2种方法可以做同样的事情,但做的却不同,这就是问题所在。

db.CloneCollection将集合复制到新集合(我可以找到任何与锁相关的警告)

db.collection.copyTo

复制文档但会导致集合范围内的锁定(对我来说可能是个问题)。

问题是,在什么假设下我可以使用cloneCollection和CopyTo。

问题不仅与锁定有关。

我想询问建议,提示或任何想法,以便尽快获取数据而不会伤害使用该集合的工作人员。 (也可能是答案不包括cloneCollectioncopyTo)。

这不是一场公开的辩论,在以下假设下几乎只有一个决定性的答案:

  1. 该集合最多可包含50个条目。
  2. 如果可能,应将锁定减少到最小或没有。
  3. 从我开始进程到收集的完全克隆就绪时,可能会有一点时间差异。例如:如果我在10:00发布一个克隆并且包含10:09的数据,那么只要它不是很远就可以了。
  4. 我正在使用MongoDB WieredTiger 3.4

0 个答案:

没有答案