MongoEngine: получение родительского документа из встроенного документа

В настоящее время я пытаюсь написать общий метод удаления для встроенных документов в MongoEngine. Я думал, что можно будет получить доступ к объекту документа, содержащему встроенный документ, и определить функцию удаления на основе родительского документа.

Тогда функция удаления могла бы выглядеть так: def delete(): {parent_document}.update(pull__myField={self})

Я еще не совсем уверен, действительно ли это будет работать так, как я себе представляю, но я думаю, что стоит попробовать. Единственное, чего я еще не знаю, это как получить доступ к документу, в котором существует встроенный документ. Поэтому в основном мне нужно каким-то образом получить доступ к документу, обозначенному как parent_document в приведенном выше коде, из встроенного документа.

Кто-нибудь знает, как это сделать? Может быть, это вообще плохая идея, если кто-то так думает, просто дайте мне знать.


person evermean    schedule 01.10.2018    source источник


Ответы (1)


Если вы хотите получить доступ к родительскому документу, вы можете использовать self._instance во встроенном документе.

https://github.com/MongoEngine/mongoengine/issues/63

person chroming    schedule 14.03.2019