如何删除mongoengin中文档的另一个嵌入文档中的嵌入文档项

2024-09-29 05:17:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我的模型:

class City(EmbeddedDocument):
    name = StringField()
    population = IntField()

class Privince(EmbeddedDocument):
    name = StringField()
    cities = ListField(EmbeddedDocumentField(City))

class State(Document):
    name = StringField()
    provinces = ListField(EmbeddedDocumentField(Privince))

我可以用以下代码删除状态的Province

State.objects(name="Alaska").update_one(pull__provinces={"name": "Juneau"})

但我不知道如何消除一个城市的province。你知道吗


Tags: name模型citydocumentclassstatepopulationcities
1条回答
网友
1楼 · 发布于 2024-09-29 05:17:24

哦,我找到了一个非常简单的方法!地址:

state_obj = State.objects.get(name="Alaska")
province_obj = state_obj.provinces({"name": "Juneau"})
for city in province_obj.cities:
    if city.name == "Test_City" and city.population == 10000:
        province_obj.cities.remove(city)

相关问题 更多 >