0

将 MongoEngine 从 0.7.9 升级到 0.8.3 后,任何将任何现有文档保存在任何集合中的尝试都会导致 NotUniqueError (user示例中显示的集合):

Tried to save duplicate unique keys (E11000 duplicate key error index: foo.user.$_id_ dup key: { : ObjectId('xxxxxx') })

如果我创建一个新文档并多次保存它,我会得到同样的错误:

a = Foo()
a.save()
a.save() # results in duplicate error

Mongo 默认创建一个_id无法删除的索引,我没有其他使用_id. 我见过的大多数与此类似的问题都出现在重复索引上,这些索引不是_id也可以删除,但这真的很奇怪。我对这个_id领域没有做任何奇怪的事情,只是让 Mongo 自己生成它。

关于可能导致这种情况发生的任何想法?

谢谢!

4

1 回答 1

0

有一个自定义保存函数尚未迁移到使用新的 save() 参数,因此其中一个导致 force_insert 评估为真。

如此愚蠢...

于 2013-07-23T01:17:12.250 回答