在MongoDB中更新集合属性名称时获取错误

时间:2013-04-23 19:44:51

标签: mongodb

所以我有以下MongoDB集合的结构

{ "_id" : ObjectId("516c48631f6c263a24fbbe7a"), "oldname" : 1, "name" : "somename" }

我想将OLD NAME重命名为NEW NAME,因此它看起来像,

{ "_id" : ObjectId("516c48631f6c263a24fbbe7a"), "newname" : 1, "name" : "somename" }

所以我正在写这个命令,

db.element_type.update({}, {$rename: {'oldname': 'newname'}}, false, true);

但它给了我这个错误

failing update: objects in a capped ns cannot grow

1 个答案:

答案 0 :(得分:2)

根据错误消息,问题在于您尝试更新上限集合,可能是newname长于oldname

您可以在文档中read about capped collections。它们旨在维持秩序,这就是你遇到这种情况的原因。

如果你必须使用上限集合,也许你应该删除并重新插入而不是更新。