我有两个MongoDB在通过LAN连接的两个不同服务器上运行。我想将服务器1中的少数集合中的记录复制到服务器2中的集合。有没有办法做到这一点。下面是我想要实现的图形表示。
以下是我考虑使用的方法。
还有其他办法吗?这样做的最佳方式是什么?
答案 0 :(得分:1)
MongoDB还不支持选择性复制,听起来好像你实际上并不是在寻找选择性复制,而是因为复制可以确保使用该服务器的某些规则。
我不确定oplog监视器API是什么意思,但只需查询就可以轻松读取oplog:
> use local
> db.oplog.rs.find()
(http://docs.mongodb.org/manual/reference/local-database/)
然后存储您在所制作的脚本中复制的记录的最新时间戳。
你也可以在oplog上使用一个tailable游标来有效地监听(pub / sub)更改并将它们复制到你的其他服务器。