如何重命名具有零停机时间和向后兼容性的MongoDB集合?

时间:2018-12-29 09:00:51

标签: mongodb

重命名代码应放在何处?在生产代码中进行条件检查?以及如果出现问题怎么回滚?

我已经知道db.collection.renameCollection()方法,但是以这种方式重命名集合将防止向后兼容,并且根据文档,这将中断当前查询。

人们还可以考虑使用db.collection.copyTo(),它在操作过程中会阻塞数据库,为当前应用程序实例提供向后兼容性。并部署一个对两个集合执行操作的中间版本。但是,仍然存在这样的问题:当旧实例正在运行并且尚未更新到中间版本时,新集合已过期。

0 个答案:

没有答案