使MongoDB适应mongoengine文档

问题描述

例如,我使用mongoengine定义了此文档。

from uuid import uuid1
from mongoengine import Document,StringField,UUIDField
class ImageModel(Document):
    uuid = UUIDField(default=uuid1,required=True)
    current_version = StringField(default='0')
    latest_version = StringField()

因此,我第一次使用mongoengine创建文档时,它将具有这些字段。如果我从此类中删除一个字段或更改其类型,则会出现错误,指示该字段不存在,这是因为以前写入数据库的文档仍然具有该字段。

是否可以使用Mongoengine使MongoDB文档自动适应更改?即,使其具有与我的班级相同的字段,并删除不再存在的字段。

解决方法

mongoengine中没有迁移工具。 您必须编写自己的脚本。

以下是一些有趣的链接:

并且有一个软件包here,但是目前没有稳定的版本。因此在生产中使用它会有风险。