我已经开始使用mongoengine,嵌入式文档不能像我想象的那样工作。
我想为每个用户组/集合指定cruds,并定义了以下文档类型。
class Crud(EmbeddedDocument):
collectionName = StringField(required=True)
create = BooleanField
read = BooleanField
update = BooleanField
delete = BooleanField
class Group(Document):
description = StringField()
cruds = EmbeddedDocumentListField(Crud)
填写数据按预期工作。但是,当我尝试访问以下函数中的数据时,我认为无法获取实际数据。无论数据库中有什么,这都将返回False。
def is_collection_autorized(collection, auth_type='read'):
for group in currentUser.groups:
for cr in group.cruds:
if cr.collectionName == collection and getattr(cr, auth_type):
return True
return False