2013-04-23 72 views
1

MongoDB的集合所以我有以下结构得到错误而更新集合在MongoDB的

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

属性的名字,我想旧名称重命名为新名称,所以它看起来像,

{ "_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 

回答

2

的问题,每个错误消息是,你试图更新加盖收集,大概有newname是比oldname更长。

您可以在文档中的read about capped collections。他们的目的是维持他们的秩序,这就是为什么你遇到这个问题。

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

+1

就像您提供的链接所说:您无法从封顶的集合中删除。 – 2013-04-24 03:51:18