所以,我在MongoEng中建模了两个MongoE文档(经典关系数据库示例)
class Person(Document)
name = StringField()
class Address(Document)
person = ReferenceField(Person)
city = StringField()
一个人可以拥有多个地址。我想迁移这些模型,使其成为新的模式:
class Address(Document)
city = StringField()
class Person(Document)
name = StringField()
address = ListField(ReferenceField(Address))
这涉及在两个架构上设置和取消设置字段,并确保将旧的Address
条目迁移到正确的Person
地址列表中。
在我看来它会是这样的:
Person
Address
,请附加Person
ListField
Address
这似乎是一个简单的例子,有一个足够简单的解决方案,虽然mongoengine的实现已经躲过了我一段时间了。
通过更改python中的类,服务器崩溃抱怨fields cannot be resolved
。同样重新排序类是一个问题,因为类依赖于彼此切换。除了MongoDB中的集合之外,还需要更新。
我记得SQLAlchemy有很好的迁移支持,但我找不到与Flask + MongoEngine类似的东西。
任何人都知道一个很好的解决方案吗?
答案 0 :(得分:0)
Mongodb没有像sqlalchemy那样的关系,所以这样的事情怎么样:
comp_by_country_pct.loc[
comp_by_country_pct.groupby(level=0).idxmax()
].reset_index()
Company Country Pct
0 bar one 0.440000
1 foo two 0.392857