有没有办法将数据从副本集的成员复制到 Mongo 数据库中的主数据库?

Is there a way to replicate data from a member of replica set to primary in Mongo DB?

我们正在使用 3 个集群 Monggo DB。

我已经停止了 mongo 主要和一个副本集中的服务。 我们通过更改 mongod.conf 文件将另一个副本集成员更改为独立的。 删除了复制和身份验证密钥。

现在数据插入单机Mongo。 再次启动 Mongo primary 和其他两个副本集。

现在新数据不会在 Mongo 主集和副本集中复制。

请指教,有没有办法从副本集成员复制数据。 尝试了 syncFrom() 但没有成功。

独立模式下的任何修改都不会写入replica set oplog,因此直接插入或更新新数据会在该副本集成员中引入不一致。当 oplog 更改在另一个副本集成员上应用良好但不能应用于该成员(反之亦然)时,这种数据不一致可能会导致副本集成员在未来崩溃。

不一致的辅助应该在重新加入副本集之前完全re-synced。如果您有办法识别已插入或更新的文档,则可以在重新同步之前将这些文档转储并恢复到当前主数据库中。

如果将来出于某种原因需要使大部分副本集脱机,则应将其余成员重新配置为较小的副本集,而不是在独立模式下写入以前的副本集成员。或者,您可以删除 local 数据库(在独立模式下)和 convert this standalone to a new replica set.