如何在mongodb分片中重命名集合?因为我试过我的 生产服务器,它为您的引用抛出以下错误。
我的要求我们必须在现有集合上添加更多有价值的字段。但在生产中,我们无法破坏基于流量的收集,并且任何时候请求都来自成员。因此,我们计划将整个记录从sql填充到另一个集合中的mongo,然后重命名该集合并将其作为生产。我们的计划。但我们无法进一步发展。我们得到了错误。
db.clientdetails.renameCollection( "clientdetails_bkup" ); {
"assertion" : "You can't rename a sharded collection",
"assertionCode" : 13138,
"errmsg" : "db assertion failure",
"ok" : 0 }
如果mongodb分片中不可能,请分享您的建议或替代方法,我们可以解决此问题。
请建议我们必须采取哪些措施?
答案 0 :(得分:1)
无法重命名分片集合。
您可以将所有文档复制到新集合中。
或者根据每周/期间日期创建多个集合,并将其用作当前日期。然后让您的应用程序始终按名称使用当前的名称,并在每个句点中断时更改名称。
答案 1 :(得分:-1)
这是MongoDB的最严重的限制之一。我们无法重命名分片集合。 Mongodb文档说: 分片集合不支持db.collection.renameCollection()。
在同样的情况下,我们创建了另一个临时集合,将数据加载到该临时集合中。删除现有的分片集合,并使用新名称创建新集合,然后再次将数据加载回新命名的集合中。这个过程非常