Python MongoEngine是否删除嵌套的嵌入文档?

Python MongoEngine是否删除嵌套的嵌入文档?,python,mongoengine,Python,Mongoengine,我有一个包含en embedded document的集合,它有一个嵌入文档的列表,需要能够删除alert_list index[x],但还不能创建一个有效的pull命令。以下是我的模型结构: class Alert(medb.EmbeddedDocument): name = medb.StringField(default = 'new alert') class Sensor(medb.EmbeddedDocument): name = medb.StringField(

我有一个包含en embedded document的集合,它有一个嵌入文档的列表,需要能够删除alert_list index[x],但还不能创建一个有效的pull命令。以下是我的模型结构:

class Alert(medb.EmbeddedDocument):
    name = medb.StringField(default = 'new alert')

class Sensor(medb.EmbeddedDocument):
    name = medb.StringField(default='')
    alert_list = medb.ListField(medb.EmbeddedDocumentField(Alert), default=Alert)

class SiteConfig(medb.Document):
    name = medb.StringField(default = 'name')
    sensordict = medb.MapField(medb.EmbeddedDocumentField(Sensor))


#delete alert_item #2 for sensordict['99']
SiteConfig.objects(id=siteid).update_one(pull__  ????? what goes here???
我可以在pymongo这样做(而且效果很好):

但如果可能的话,我更愿意使用MongoEngine有什么建议吗? 谢谢
比尔

我现在也有同样的问题。是否有本地mongoengine解决方案?在任何情况下,当涉及到这样的用例时,mongoengine的删除功能似乎都很糟糕。我现在也遇到了同样的问题。是否有本地mongoengine解决方案?在任何情况下,当涉及到此类用例时,mongoengine的删除功能似乎都很糟糕。
#load site into pymongo
pysite = pydb.db.SiteConfig.find_one({'_id': ObjectId(siteid)})
#delete the alert
del pysite['sensordict'][sensorid]['alert_list'][alertindex]
#save modified Site back to db
pydb.db.SiteConfig.replace_one({'_id': ObjectId(siteid)}, pysite, upsert=True)