如何更新嵌入文档的ListField?

2024-05-16 14:56:36 发布

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

我的文件如下:

{
  _id:"1"
  picpiclist: [
    {
      id: 1,
      page: 1,
      pictextpairlist: [
        {
          id: 1,
        },
        {
          id: 2,
        },
        ...
      ],
    },
    ...
  ]
}

我想在picpiclistpictextpairlist中添加文件。 这是我的密码:

db.coll.update(
    {"_id":str(_id)}, 
    {"$set":{
        "picpiclist.$[].is_updated":0,
        "picpiclist.$[].is_auditor_updated":0,
        "picpiclist.$[].pictextpairlist.$[].probility_list":[],
        "picpiclist.$[].pictextpairlist.$[].is_updated":0,
        "picpiclist.$[].pictextpairlist.$[].is_auditor_updated":0},
    },
    {"upsert":True}
)

但有一个错误:

cannot use the part (picpiclist of picpiclist.$[].is_updated) to traverse the element

我该怎么办


Tags: 文件theid密码dbispageupdate