5

我有一个用户定义的 mongoengine.Document 子类。

class User(Document):
    meta = {'collection': 'users', 'allow_inheritance': False}
    _id = ObjectIdField()
    password = StringField(max_length=50)
    name = StringField(max_length=50, required

现在我想将它用作带有自己集合的独立文档,但我也想将它用作 EmbeddedDocument 作为游戏记录的一部分:

class Game(Document):
    meta = {'collection': 'games', 'allow_inheritance': False}
    _id = ObjectIdField()
    name = StringField()
    owner = EmbeddedField(User)

但有一个问题。Mongoengine 只允许嵌入 EmbeddedDocument 子类。有没有办法解决它?

4

2 回答 2

2

试试这样:

class User(Document, EmbeddedDocument):
    ...
于 2012-06-08T12:28:52.513 回答
1

你不应该使用aReferenceField吗?

否则,您将存储两个断开连接但逻辑相同的文档。

于 2012-06-20T13:33:32.713 回答