mongoengine ReferenceField的确切含义?

时间:2018-11-06 07:54:08

标签: mongodb mongoengine

我用flask-restplusmongoengine制作了一个API系统

我也是mongodb和mongoengine的新手。

我知道mongodb中没有外键。

但是在阅读mongoengine的文档之后,我发现了一些类似的字段。

ReferenceField是具有RDB之类关系的字段。

所以我想知道,如果我将某个字段设置为ReferenceField,它是否像RDB的外键一样工作?

请看下面关于数据库模式的代码。

class User(Document):
    no = SequenceField()
    userid = StringField(unique=True, required=True)
    userpw = StringField(required=True)

class Article(Document):
    no = SequenceField()
    subject = StringField(required=True)
    content = StringField(required=True)
    userid = ReferenceField(User, required=True, dbref=True)

john模式中删除用户ID User时,必须删除john的每篇文章。

每个Article的用户ID也必须已经包含在User模式中。

我知道如果使用RDB外键和层叠选项很容易。

但是我想知道,如果我使用mongoengine的ReferenceField,有可能吗?

或者,ReferenceField的确切工作是什么?

谢谢。

0 个答案:

没有答案