您好我们在mongo上有一个生产数据库,它有一组集合,所有活动都被加载到oplog中。现在我想写一个脚本来观看这个oplog,这样当一个新的记录添加到oplog时,我想把它写到另一个虚拟服务器上的数据库。我怎么能这样做呢。我是mongo的新手,所以我不确定从哪里开始。任何想法对我都有帮助。
我正在考虑一些事情 while(true)
{
watch(oplog)
OnNewEntry
{
AddToAnotherMongo(another.server.com,port,dbname,record)
}
}
答案 0 :(得分:4)
有各种oplog阅读器可以观看和重播特定的服务器。这就是replicasets默认执行的操作,并且只有一个主要(writer)。如果您只想要数据副本,那么复制副本是最佳选择,并且不需要任何代码即可支持。
以下是一些读取oplog的代码示例:
答案 1 :(得分:1)
我有一个类似的问题,并且在你的操作码示例中找到了一个非常简单的解决方案,在javascript中以mongo-shell执行。
在主服务器的oplog上打开一个tailable游标,每个操作都可以应用到另一个服务器(当然你可以按集合的命名空间甚至数据库进行过滤......)