首页 > 解决方案 > mongoenginee 批量更新嵌入式文档列表字段值

问题描述

我有一个带有标签嵌入文档的用户文档。

class Tag(EmbeddedDocument):
    name = StringField()
    deleted = BooleanField(default=False)

class User(BaseDocument):
    first_name = StringField()
    last_name = StringField()
    tags = EmbeddedDocumentList(Tag)

在用户集合中有数据。

{_id: "xxx-1", first_name: "Name 01", last_name: "One", tags: [{name: "Tag1", deleted: False}]}
{_id: "xxx-2", first_name: "Name 02", last_name: "Two", tags: [{name: "Tag1", deleted: False}, {name: "Tag2", deleted: False}]}
{_id: "xxx-3", first_name: "Name 03", last_name: "Three", tags: [{name: "Tag2", deleted: False}]}

{_id: "xxx-99", first_name: "Name 99", last_name: "99", tags: [{name: "Tag1", deleted: False}]}
{_id: "xxx-100", first_name: "Name 100", last_name: "100", tags: [{name: "Tag3", deleted: False}, {name: "Tag2", deleted: False}]}

我想对用户文档标签字段进行批量更新。在选定用户上将所有标签名称值“ Tag1 ”标记为已删除为真。

标签: python-3.xmongodbpymongomongoengine

解决方案


推荐阅读