我目前正在尝试为MongoEngine中的嵌入式文档编写通用删除方法。我认为可以访问包含嵌入文档的文档对象,并根据父文档定义删除功能。
删除功能可能看起来像这样:
def delete():
{parent_document}.update(pull__myField={self})
我不太确定这是否会像我想象的那样真正起作用,但我认为这值得一试。我唯一不知道的是如何访问嵌入文档所在的文档。所以基本上我必须以某种方式从嵌入式文档访问上面代码中引用为parent_document
的文档。
有谁知道怎么做?如果有人这么想,也许这是一个坏主意,请让我知道。
如果要访问父文档,可以在嵌入文档中使用self._instance
。