2011-07-25 23 views
1

我目前正在查看是否有人爲了複製mongodb數據庫上的給定信息? 我的想法是僅發送特定類型的數據,比方說,如果文檔具有「高度」字段,則只有高度值高於10的文檔纔會發送到副本。mongoDB將特定數據添加到db複製副本

這可能嗎?如果是這樣,你能否解釋一下,或給出一個鏈接,說明這可能是適當的文件記錄?

謝謝。

PS:這是一個java/jsp項目,所以我在添加這些標籤的情況下,在java驅動程序中有內置命令。

回答

2

答案是「是」和「否」。

Replica Sets將不提供此功能。副本集只是一組副本或克隆,其中每個節點包含相同的數據。所以沒有簡單的「開箱即用」的方式來做你想做的事情。

但是,複製通過特殊的"oplog" collection工作。這是DB中的一個實際集合,它包含對數據的所有最新更改。

從理論上講,您可以「拖曳」這個oplog並選擇性地應用更改。事實上人們已經這樣做了。但是,這不是一個廣泛支持的功能,它肯定需要幾個小時(或幾天)的努力來完成工作。

+0

嗨,感謝您的回覆,有沒有辦法做我想要的其他功能?主/從連接?甚至分片? 如果沒有,是否可以告訴我如何修改oplog?如果是這樣,如果可以從一個Java程序中完成它? –

+0

所以,我搜索了數據庫,如果我直接編輯oplog.rs的數據,可能會做到這一點,但我不得不在編輯它的程序時專門進行編輯,但是,沒有看到任何方式來定位特定的服務器來發送這些數據,你知道任何方式嗎? –

+0

謝謝,看來我需要的不是這個,將設置不同的數據庫並單獨填充它們,同時保留主數據庫的副本集。 感謝您的時間! –

相關問題