我们的一个客户正在创建每小时 mongo 转储并将它们发送给我们。然后,我们重放 oplog。但是,客户决定不再发送所有转储,而只发送紧急情况下调试所需的转储。但是,我担心的是,不发送所有内容会导致我们的本地镜像不一致。
我的主要问题如下:当您重放包含丢失文档的更新操作的操作日志时会发生什么?它会出错还是忽略操作?
为了更好地解释我的意思,这里有一个例子:
- 客户
{_id: 1}
在 2017-11-27创建条目 - 相同条目于 2017-11-28 首次更新
- 客户端通过 oplog 发送仅包含 2017-11-28 向前的操作
- 我们在本地重播 oplog
使用 输入的更新操作会发生什么{_id: 1}
?会出错吗?由于没有使用此类_id 更新的文档,它会被忽略吗?
PS目前使用mongo 2.4