将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自己生成它。
关于可能导致这种情况发生的任何想法?
谢谢!
答案 0 :(得分:0)
有一个自定义保存功能尚未迁移到使用新的save()参数,因此其中一个导致force_insert评估为true。
太笨了......