Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb集合复制和读取游标_Mongodb_Replication_Isolation Level - Fatal编程技术网

Mongodb集合复制和读取游标

Mongodb集合复制和读取游标,mongodb,replication,isolation-level,Mongodb,Replication,Isolation Level,我想将mongodb中的一个集合复制到其他一些数据接收器中。一种方法是获取最后一个oplog条目时间戳,记录它,然后在整个集合上进行查找,并在游标上进行迭代,将文档发送到接收器。一旦游标用完,我就从开始时得到的时间戳开始读取oplog操作。(类似于它的功能) 在伪代码中: lastTs = getLatestOplogTimestamp(); -> t1 doDumpOfCollection(collectionName); streamOperationsFromOlog(since=l

我想将mongodb中的一个集合复制到其他一些数据接收器中。一种方法是获取最后一个oplog条目时间戳,记录它,然后在整个集合上进行查找,并在游标上进行迭代,将文档发送到接收器。一旦游标用完,我就从开始时得到的时间戳开始读取oplog操作。(类似于它的功能) 在伪代码中:

lastTs = getLatestOplogTimestamp(); -> t1
doDumpOfCollection(collectionName);
streamOperationsFromOlog(since=lastTs); - t2
假设在t1和t2之间,collectionName有更新,比如说一个项目被添加到子文档数组,或者其他一些有状态的更新

document1.items.append(item1);
问题是:

  • 新数据是否会在游标迭代中显示

  • 当我重放oplog时会发生什么?数组中是否可以有重复的项

  • 这表明其他操作可以与查询“交错”,这将表明对这两项的回答都是肯定的

    如果是这样,有没有一种方法可以可靠地从mongo复制单个集合?在我看来,像Mongo Connector这样的产品并没有很强的数据完整性。

    我相信这是为了满足您的需求