所以我有以下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
答案 0 :(得分:2)
根据错误消息,问题在于您尝试更新上限集合,可能是newname
长于oldname
。
您可以在文档中read about capped collections。它们旨在维持秩序,这就是你遇到这种情况的原因。
如果你必须使用上限集合,也许你应该删除并重新插入而不是更新。