【问题标题】:Getting dynamic collection names in mongoengine在 mongoengine 中获取动态集合名称
【发布时间】:2011-10-18 10:24:21
【问题描述】:

这里是情景。我有一个名为 Permission 的模型。让我们假设它看起来像这样:

class Permission(Document):
    meta = {'collection': 'permission'}
    permission = DictField()
    owner = ReferenceField('user')

这继承自 mongoengine 的 Document 类。因此,当我保存它的一个实例时,会在数据库中自动创建一个名为权限的集合。

我希望能够动态更改集合名称。例如,如果我有一个联系人模型并且想要保存联系人模型的权限,我不希望它进入权限集合,而是保存在一个名为contact_permission 的单独集合中。

我已经为 mongoengine 使用了 feature/dynamic_collection_naming 分支。我无法弄清楚如何让它工作。我试过这个:

p = Permission()
...
p.meta['collection'] = 'contact_permission'
p.save()

但这不起作用。请你帮帮我。

【问题讨论】:

    标签: python mongoengine


    【解决方案1】:

    这不是动态集合命名的预期 API。快速搜索您提到的分支中的提交会显示此提交,它显示了如何使用它:

    https://github.com/hmarr/mongoengine/commit/c62b6321adaba6c3eb54ce2dc2c1bd3069568399

    【讨论】:

    • 谢谢,很抱歉没有查看提交。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 2013-08-29
    • 1970-01-01
    • 2013-07-22
    相关资源
    最近更新 更多