当Mongoengine重建(更新)有关索引的信息时?我的意思是,如果添加或更改某些字段(向文件添加uniques或稀疏选项)或在模型声明中添加了一些元信息。 所以问题是:
答案 0 :(得分:1)
Mongoengine不会自动重建索引。 Mongoengine跟踪模型中的更改(如果您将sparse
添加到您的字段(如果字段没有unique
选项),则无法正常工作)然后在mongoDB中触发ensureIndex
。但是当它火了 - 确保你在mongoDB中删除了最旧的索引版本(Mongoengine没有)。
问题是:
sparse
添加到提交的w.o unique
选项中 - 此更改不会映射到mongoDB索引中。您需要合并unique = True, sparse = True