使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,但是目前没有稳定的版本。因此在生产中使用它会有风险。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...