【发布时间】:2013-05-02 17:53:11
【问题描述】:
我正在使用 mongohq 沙盒计划。在命令提示符下,
db["oldCollectionName"].renameCollection("newCollectionName", true)
不使用管理数据库也能正常工作。
但是,当我在 Java 中执行此操作时,我得到了“未经授权”的异常:
oldCollection.rename(newCollectionName);
由于我使用的是 mongohq 沙盒计划,因此我无权访问管理数据库。有没有办法在不创建新集合、复制所有文档和删除旧集合的情况下重命名此集合?
【问题讨论】:
-
我希望你不要经常这样做。在这种情况下,为什么不用注释 @Document(collection = "NAME_OF_YOUR_NEW_COLLECTION") 重命名数据模型。这应该负责重命名集合。
-
我需要能够使用 java 代码来做到这一点,因为这来自动态的用户操作。因此,使用注释可能无济于事。
标签: mongodb mongodb-java mongohq