在mongodb的选择性复制

时间:2014-03-06 07:44:23

标签: java mongodb mongodb-java

我有两个MongoDB在通过LAN连接的两个不同服务器上运行。我想将服务器1中的少数集合中的记录复制到服务器2中的集合。有没有办法做到这一点。下面是我想要实现的图形表示。

enter image description here

以下是我考虑使用的方法。

  1. MongoDB复制 - 但它复制了所有集合。是否可以在MongoDB中进行选择性复制?
  2. Oplog观察者API - 请建议一些可靠的Java API
  3. 还有其他办法吗?这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

MongoDB还不支持选择性复制,听起来好像你实际上并不是在寻找选择性复制,而是因为复制可以确保使用该服务器的某些规则。

我不确定oplog监视器API是什么意思,但只需查询就可以轻松读取oplog:

> use local
> db.oplog.rs.find()

http://docs.mongodb.org/manual/reference/local-database/

然后存储您在所制作的脚本中复制的记录的最新时间戳。

你也可以在oplog上使用一个tailable游标来有效地监听(pub / sub)更改并将它们复制到你的其他服务器。