Mongo版本是3.0.6,我有一个过程,通过使用--oplogReplay选项,由mongodump和mongorestore将oplog从另一个数据库应用到目标数据库。
但是我多次发现重复的密钥错误消息,源和目标数据库具有相同的结构(独立和字段),不可能在目标上有重复记录,因为它应该首先在源数据库上出错。
错误消息如下所示
2017-08-20T00:55:55.900+0000 Failed: restore error: error applying oplog: applyOps: exception: E11000 duplicate key error collection: <collection_name> index: <field> dup key: { : null }
今天我发现了一个像这样的神秘信息
2017-08-25T01:02:14.134+0000 Failed: restore error: error applying oplog: applyOps: not master
什么意思?而我的理解是,mongorestore有&#34; - stopOnError&#34;选项表示默认进程,如果有任何错误,还原进程将跳过并继续。但我得到了上述错误,然后恢复过程随时终止。 :(
答案 0 :(得分:0)
这不能直接回答你的问题,对不起,但是......
如果您需要将数据库A的oplog更改应用于数据库B,那么使用mongo-connector程序比使用mongodump / mongorestore -pair更好。