在Couchbase中交换存储桶

时间:2018-08-29 12:31:55

标签: database sdk couchbase n1ql

在进行exact question about MySQL表交换之后,我想在Couchbase的服务器存储桶中执行相同的操作。

例如,给定以下桶:

foofoo_new

我想将名称交换为:

foo_oldfoo

等效的MySQL命令是:RENAME TABLE foo TO foo_old, foo_new To foo;

此外,我希望通过Java SDK而不是手动进行更改。

我发现this old post指出无法更改存储桶名称。

可以在较新的版本中使用吗?直到现在,我还找不到能够做到的事情。

1 个答案:

答案 0 :(得分:3)

没有用于重命名存储桶的N1QL命令。也没有计划。由于您无法通过UI更改存储桶的名称,因此可以肯定地说也没有API。

您必须使用API​​命令创建一个新存储桶,使用一堆N1QL命令在新存储桶上创建新索引,然后大概使用INSERT将所有文档从旧存储桶复制到新存储桶-选择。

除非您使用很小的存储桶(可能出于测试目的),否则我不建议您使用这种方法。